本圖像處理系列筆記是基于B站楊淑瑩老師的課程進行學習整理的。
文章目錄
- 黑白圖像
- 8位灰度索引圖像
- 8位偽彩色索引圖像
- 24位真彩色圖像
- 圖像文件格式
- BMP文件存儲格式
- BMP文件頭
- 位圖信息頭
- 顏色表
- 位圖信息——BITMAPINFO結構
- BMP位圖文件匯總
按照顏色深度分類,常用圖像文件:
- 黑白圖像
- 8位索引圖像
- 24位真彩色圖像
黑白圖像
單色圖像,二值圖像,每個像素由0 或 1 組成
8位灰度索引圖像
一個數據矩陣 X 和一個調色板矩陣 MAP
X=[015020012050180250220100](1)X=\left[ \begin{matrix} 0 & 150 & 200 \\ 120 & 50 & 180 \\ 250 & 220 & 100 \end{matrix} \tag{1}\right] X=???0120250?15050220?200180100????(1)
調色板MAP:
索引號 | B | G | R |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 2 | 2 | 2 |
… | … | … | … |
255 | 255 | 255 | 255 |
即圖像的數據矩陣中,每一個元素的值即為索引號的值,其圖像顏色表代表了BGR的分量各是多少。8位灰度索引圖像中,索引號的值和RGB分量的值相同。
各像素信息由一個量化的灰度級來描述,沒有彩色信息。其像素值越大,圖像越亮。
8位偽彩色索引圖像
每個像素的信息由RGB三原色構成的圖像,其中RGB是由不同的灰度級來描述的。
- 顏色表R G B分量值不全相等。
- 像素值是圖像顏色表的索引地址
顏色索引表
索引號 | R | G | B |
---|---|---|---|
紅 | 255 | 0 | 0 |
綠 | 0 | 255 | 0 |
藍 | 0 | 0 | 255 |
白 | 255 | 255 | 255 |
黑 | 0 | 0 | 0 |
青 | 0 | 255 | 255 |
紫 | 255 | 0 | 255 |
黃 | 255 | 255 | 0 |
24位真彩色圖像
- 每一像素由RGB三個分量組成
- 每個分量各占8位,取值范圍為0~255,每個像素24位。
表示如下:
(207,137,130)(220,179,163)(215,169,161)…
以三個分量的形式可表示如下:
R=[25524024025508025500](2)R=\left[ \begin{matrix} 255 & 240 & 240 \\ 255 & 0 & 80 \\ 255 & 0 & 0 \end{matrix} \tag{2}\right] R=???255255255?24000?240800????(2)
G=[01608025525516002550](3)G=\left[ \begin{matrix} 0 & 160 & 80 \\ 255 & 255 & 160 \\ 0 & 255 & 0 \end{matrix} \tag{3}\right] G=???02550?160255255?801600????(3)
B=[08016000240255255255](4)B=\left[ \begin{matrix} 0 & 80 & 160 \\ 0& 0 & 240 \\ 255 & 255 & 255 \end{matrix} \tag{4}\right] B=???00255?800255?160240255????(4)
圖像文件格式
- BMP格式
- GIF格式
- 主要用于不同平臺上交流和傳輸,而不是作為文件的存儲格式,最大不能超過64M,顏色最多為256色。
- TIFF格式
- 其考慮了擴展性、方便性和可修改性,是最復雜的一種,要求用更多的代碼來控制它,結果導致文件讀寫速度慢,代碼長
- JPEG格式
BMP文件存儲格式
BMP文件組成
- BMP文件頭
- 位圖信息頭
- 顏色表
- 位圖數據
BMP文件頭
bfType表示文件類型,bfSize表示文件大小,bfOffBits表示位圖數據的起始位置
位圖信息頭
biSize表示該結構共多少個字節,即從biSize到biClrImportant共40個字節,故biSize為40
biWidth和biHeight為圖像的寬度和高度,以像素為單位
biPlanes是位平面數,一般是1
biBitCount是每個像素所需的位數,8位偽彩色圖像,8位灰度圖像,biBitCount為8(8位帶顏色表),24位偽彩色圖像,biBitCount為24(24位不帶顏色表)
biCompression為位圖壓縮類型,BMP圖像不壓縮,此處為0
biSizeImage為位圖的大小,以字節為單位,整個位圖的大小
最后四個標準情況下為0
顏色表
除了紅綠藍三個分量,還有一個保留的字節,rgbReserved