翻譯|使用教程|編輯:黃竹雯|2019-06-17 12:32:20.013|閱讀 380 次
概述:本文是我們Image Processing 101(圖像處理101)系列教程的一部分。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
本文是我們Image Processing 101(圖像處理101)系列教程的一部分。
圖像處理和計(jì)算機(jī)視覺(jué)是計(jì)算機(jī)科學(xué)的熱門(mén)趨勢(shì),由于其廣泛的應(yīng)用和樂(lè)觀的發(fā)展前景,所以繼續(xù)顯示出未來(lái)的強(qiáng)勁勢(shì)頭。在該系列教程的第一篇文章中,我們將通過(guò)查看圖像是什么以及如何存儲(chǔ)圖像來(lái)介紹圖像處理的基礎(chǔ)知識(shí)。
數(shù)字圖像可以在計(jì)算機(jī)上顯示和處理,并可根據(jù)其特征分為兩大類(lèi):位圖和矢量圖像。
位圖基于通常由數(shù)字陣列表示的像素圖案。BMP,PNG,JPG和GIF都是位圖。
矢量圖像具有無(wú)限可伸縮性,并且沒(méi)有任何像素,因?yàn)樗鼈兪褂脭?shù)學(xué)公式繪制線條和曲線。尺寸為M×N的位圖圖像由M行和N列的有限元組成。每個(gè)元素都有一個(gè)特定的位置和幅度,代表該位置的信息,如灰度和顏色。這些元素稱(chēng)為圖像元素或像素。
根據(jù)每個(gè)像素表示的信息,圖像可以分為二進(jìn)制圖像,灰度圖像,RGB圖像和索引圖像等。
1. 二進(jìn)制圖像
在二進(jìn)制圖像中,像素值由0或1表示。通常,0表示黑色,1表示白色。
2. 灰度圖像
灰度圖像在二值圖像中添加黑色和白色之間的顏色深度以形成灰度圖像。這些圖像通常顯示為從最暗的黑色到最亮的白色的灰度,并且每種顏色深度稱(chēng)為灰度,通常用L表示。在灰度圖像中,像素可以取0到L-1之間的整數(shù)值。
3. RGB圖像
在RGB或彩色圖像中,每個(gè)像素的信息需要一個(gè)數(shù)字?jǐn)?shù)組來(lái)表示。所以我們需要一個(gè)三維矩陣來(lái)表示圖像。自然界中幾乎所有顏色都可以由三種顏色組成:紅色(R),綠色(G)和藍(lán)色(B)。因此,每個(gè)像素可以由RGB圖像中的紅色/綠色/藍(lán)色數(shù)組表示。
4. 索引圖像
索引圖像由色圖矩陣組成,該矩陣使用數(shù)組中像素值的直接映射到色彩映射值。通過(guò)使用相應(yīng)的值確定圖像中每個(gè)像素的顏色。我們?cè)谙旅鏁?huì)更詳細(xì)地討論這個(gè)問(wèn)題。
x86硬件沒(méi)有訪問(wèn)多維數(shù)組元素的尋址模式。當(dāng)將圖像加載到存儲(chǔ)空間中時(shí),多維對(duì)象被轉(zhuǎn)換為一維數(shù)組。通常使用行主要排序或列主要排序。
C / C ++和Python采用行主要排序。它從第一行開(kāi)始,然后將第二行連接到它的結(jié)尾,然后連接第三行,等等。這意味著在行主要布局中,最后一個(gè)索引是最快的變化。在矩陣的情況下,最后一個(gè)索引是列。
對(duì)于灰度圖像,我們可以使用矩陣來(lái)表示每個(gè)像素的灰度級(jí)。以4 * 4圖像為例。
行和列的像素:
[0,0] | [0,1] | [0,2] | [0,3] |
[1,0] | [1,1] | [1,2] | [1,3] |
[2,0] | [2,1] | [2,2] | [2,3] |
[3,0] | [3,1] | [3,2] | [3,3] |
內(nèi)存
對(duì)于彩色圖像,我們需要多維數(shù)組來(lái)存儲(chǔ)圖像信息。
在多維數(shù)組的行主要布局中,第一個(gè)索引是變化最快的。以下就是一個(gè)例子。
圖像A有6個(gè)像素:
A[0][0] | A[0][1] | A[0][2] |
A[1][0] | A[1][1] | A[1][2] |
使用行主要排序,連續(xù)的內(nèi)存地址將按如下方式分配:
Address(地址) | Access(訪問(wèn)) |
0 | A[0][0] |
1 | A[0][1] |
2 | A[0][2] |
3 | A[1][0] |
4 | A[1][1] |
5 | A[1][2] |
使用列主要排序,連續(xù)的內(nèi)存地址將按如下方式分配:
Address(地址) | Access(訪問(wèn)) |
0 | A[0][0] |
1 | A[1][0] |
2 | A[0][1] |
3 | A[1][1] |
4 | A[0][2] |
5 | A[1][2] |
真彩色(24位)
24位圖像通常使用R,G和B中的每一個(gè)的8位。對(duì)于三種基色中的每一種,如灰度級(jí),L級(jí)可以用于指示存在多少這種顏色分量。例如,對(duì)于256級(jí)的紅色,0表示沒(méi)有紅色,255表示100%紅色。同樣,綠色和藍(lán)色可分為256級(jí)。每種基色可以用8位二進(jìn)制數(shù)據(jù)表示,因此總共3種基色需要24位。
未壓縮的原始BMP文件是使用RGB標(biāo)準(zhǔn)存儲(chǔ)的RGB圖像。
對(duì)于高度和寬度為200像素和16種顏色的彩色圖像,每個(gè)像素由RGB的三個(gè)分量表示。因此,每個(gè)像素由3個(gè)字節(jié)表示,整個(gè)圖像為 200×200×3 = 120KB。由于彩色圖像中只有16種顏色,因此可以使用顏色表(16×3二維數(shù)組)保存這16種顏色的RGB值。我們將在下面進(jìn)一步詳細(xì)討論。數(shù)組中的每個(gè)元素都代表一種顏色,由其在數(shù)組中的位置索引。圖像像素不包含其顏色的完整規(guī)范,但僅包含表中的索引。例如,如果顏色表中的第三個(gè)元素是0xAA1111,那么顏色為0xAA1111的所有像素都可以用“2”表示(顏色表索引下標(biāo)從0開(kāi)始)。這樣,每個(gè)像素只需要4位(0.5字節(jié)),所以整個(gè)圖像可以存儲(chǔ)在200×200×0.5 = 20 KB。上面提到的顏色表是調(diào)色板,它通常也稱(chēng)為查找表(LUT)。
GIF是支持索引顏色模式的最具代表性的圖像文件格式。
還有許多其他圖像格式和存儲(chǔ)方式,我們暫時(shí)不做詳細(xì)了。下一篇中,我們將介紹顏色模型相關(guān)內(nèi)容。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn