2008年10月16日 星期四

Images & Matlab for Week 5

基本Matlab操作請參閱week2

比較特殊的大概就是可以經由imfinfo指令取得影像文件的資訊
2章後半主要再介紹一些影像儲存壓縮技術,基本重要的如下

BMP
Microsoft開發供應他們視窗OS專用的一種點陣圖圖形格式
影像儲存方式為最基本的RGB彩色模型,把影像每一像素分為以紅色(R)、綠色(G)和藍色(B)並根據其強度儲存

書上那一大串是BMP儲存各位元的作用 :

0-1 點陣圖文件的標識符,數據一般是BM。
2-5 點陣圖"文件"大小。
6-9 是保留步部分,基本為0,實際的值根據生成它們的應用程序不同而異動
10-13 點陣圖數據位置,也就是起始地址。
14-17 定義資料檔頭的Size。值一般是:40
18-21 點陣圖寬度(以像素個數表示)。
22-25 點陣圖高度(以像素個數表示)。
26-27 所用彩色位面的個數。基本為=1。
28-29 每個像素的位數。常用值是1、4、8和24。
1 = 黑白
4 = 16色
8 = 256色
16= 16bit RGB
24= 24BIT RGB

30-33 壓縮圖檔演算法編號。允許的值是0、1、2、3、4、5。

0 - 無壓縮(也用BI_RGB表示)
1 - 8位/像素(也用BI_RLE8表示)
2 - 4位/像素(也用BI_RLE4表示)
3 - Bit field(也用BI_BITFIELDS表示)
4 - JPEG圖像(也用BI_JPEG表示)
5 - PNG圖像(也用BI_PNG表示)

34-37 圖像大小。點陣圖數據的"實際"大小
38-41 圖像水平方向解析度。
42-45 圖像豎值方向解析度。
46-49 所用顏色數目。
50-53 所用重要顏色數目。當每個顏色都重要時這個值與顏色數目相等。

記這幹嘛....神經病阿

JPEG(全名為 Joint Photographic Experts Group)
其影像壓縮儲存使用一種名為離散餘弦變換(簡稱DCT)的方式
影像所有像素由RGB轉換為一種稱為YUV的不同色彩影像值進行儲存
JPEG會以8x8像素作為一區進行DCT
DCT為一種線性的積分轉換公式,JPEG這個影像儲存技術住要就是把影像經過
DCT運算後將影像量化後以利儲存
使用者可以自己設定DCT轉換比率來控制影像的
讀取JPEG時一樣是使用DCT反運算取得影像色彩資訊
但經由DCT轉換儲存後,影像原色彩值往往會遭到一定程度的更動,這也將會導致影像產生一定程度上的失真
PS: 現在Photoshop已經有一種名為無損耗旋轉 (lossless JPEG rotation)的技術,可以擬補DCT運算導致失真的問題,不過並不普及..

JPEG儲存各位元的作用 :
...(-略-)

GIF & PNG
GIF(全名為 Graphics Interchange Format)
1. 用8位原色存放影像資訊(即256色)
2. 影像儲存方式為最基本的RGB點陣儲存模式
3. 使用名為LZW(Lempel-Ziv-Welch)的演算法進行壓縮編碼
LZW概念為,大量資料中有重複的一串資料,就將該串資料儲存並給予一個code,這樣一筆反覆出現的影像資料串就能用一個簡單的code儲存,以達到節省空間的目的
4.可以編排多個圖檔存放,達到動態影像效果
GIF由於使用點陣儲存做壓縮,所以不會導致圖像失真
同時由於使用LZW演算法,其色彩受限於256色,所以GIF無法處理高畫質影像

PNG
PNG(全名為 Portable Network Graphics)
書上說PNG很新很好很強大,取代GIF同時沒有GIF的缺點
然後大喊一聲PNG果然棒!
....
其實沒那麼神啦,PNG與GIF相互普及率其實也差不多而已,當然這不是重點
重點為 :
1.PNG支援256色到48位元的色彩影像
2.PNG支援Alpha Channel(這是一個將影像透明度量化的表示法)
3.PNG支持gamma矯正(又名sRGB,一種RGB處理技術就是了)
4.使用使用一種名為deflation的非失真壓縮演算法
5.漸近顯示和流式讀寫,適合在網路傳輸中快速顯示預覽效果後再展示全貌(即開啟PNG影像會直接圖給你刷出來,由模糊輪廓慢慢變為精細)
6.一個以壓縮的PNG文件允許存放多個影像.(同GIF那個編排多個圖檔存放功能)


TIFF
TIFF(全名為 Tagged Image File Format)
一種主要用來存儲包括照片和藝術圖的格式,主要運用於印刷和頁面排版應用,掃描、傳真、文字處理、光學字元識別等
TIFF的特色就如其名稱一樣(標籤圖像文件格式)在於它擁有一個短小精幹的檔頭,僅使用8位元就涵蓋整個TIFF文件內容,TIFF檔頭中的除了記錄基本影像資訊外,還會擁有一個記錄影像資訊是以何種演算法進行壓縮量化的標籤,以至於TIFF有著可自定義壓縮法的彈性空間(簡單的說TIFF可以使用JPEG跟GIF甚至BMP等他人的壓縮方式來進行檔案壓縮)
雖說是泛用性最圍廣闊的格式,但一般USER基本還是不會使用這種格式啦-3-



DICOM
DICOM(全名為 Digital Imaging and Communications in Medicine),醫療數位影像
書上基本只提及他與影像相關內容,而DICOM整體是還包括了一套以TCP/IP為基本架構的網路傳輸通訊協定系統
DICOM的檔案是由標準化且自由型式的開頭再加上一連串的影像數據,單一個DICOM的物件只包含一張影像,但是此影像可能會有多個套圖,這是為了能儲存動態影像以及其他複圖形式的資料,跟TIFF相似的,DICOM影像資料可以經壓縮用在其他的格式上,包括了基本的RLE,JPEG系列使用的DCT, GIF的LZW等等
DICOM已經整合不同廠商的醫療影像儀器、伺服器、工作站、列印機和網路設備,兩個能接受DICOM格式的醫療儀器間,可藉由DICOM格式的檔案,來接收與交換影像及病人資料

Files in Matlab
Matlab自有一套影像處理方法,不過基本還是還是使用RGB
使用語法為 :
儲存 = imwrite(影像代號,影像儲存位子,格式)
讀取 = 影像代號 = imread(影像儲存位子)

沒有留言:

張貼留言