LinJM @HQU
最近在做有關圖像格式轉換的東西,以前對這一塊還真有點缺失,只能週末補補。
在計算機中,數據是以文件的形式存儲在外存儲器上的。將圖像數據以文件形式保存在外存儲器上就形成了圖像文件,圖像文件就是以數字形式存儲的圖像數據。
圖像文件一般由文件頭、調色板數據和像素數據3部分組成。文件頭用於存放圖像文件的各種參數,這些參數表徵了圖像本身的許多特性;調色板是圖像的顏色索引表;像素數據是圖像信息的實體所在,它存儲了圖像矩陣中各個點的像素信息。
文件頭中所存放的特徵參數特別重要,它們包括:
圖像的類型
通常在圖像文件的最開始幾位總是一串固定的字符,它們的作用就是表明了圖像的文件類型,例如,BMP文件中的最開始的字符總是“BM”。
圖像的寬度
通常以像素爲單位計量圖像橫向上的水平寬度。圖像的寬度是計算每行字節數的主要參數。
圖像的高度
通常以像素爲單位計量圖像縱向上的垂直高度。
每像素位數
像素位數註明了每位像素所佔的字節數。
位平面數
位平面數決定了圖像的存儲結構。單一位平面結構的圖像數據採取像素的集中式存放,這種存放形式與顯示存儲器雷同。多位平面結構的圖像數據則以顏色分量爲單位進行集中存放,如圖1所示的例子爲一幅3*3的24位真色圖像的像素數據信息。
B00G00R00 | B01G01R01 | B02G02R02 |
B10G10R10 | B11G11R11 | B12G12R12 |
B20G20R20 | B21G21R21 | B22G22R22 |
單採用單一位平面結構時,圖像的像素數據的實際存放方式圖2所示;單採用多位平面結構時,圖像的像素數據的實際存放方式如圖3所示。
R00R01R02 |
R10R11R12 |
R20R21R22 |
G00G01G02 |
G10G11G12 |
G20G21G22 |
B00B01B02 |
B10B11B12 |
B20B21B22 |
R00R01R02 |
G00G01G02 |
B00B01B02 |
R10R11R12 |
G10G11G12 |
B10B11B12 |
R20R21R22 |
G20G21G22 |
B20B21B22 |
壓縮類型
壓縮類型參數用於標明圖像文件是否被壓縮及採用何種壓縮方式。
像素數據的首地址
有無調色板等。