圖像處理入門

要學習機器視覺或計算機視覺,首先要明白什麼是數字圖像。在這裡對數字圖像做一個簡單的說明,以方便大家瞭解具體做圖像處理是在做什麼。

所謂數字圖像,顧名思義,就是用數字表示的圖像。怎麼用數字來表示圖像呢?你所看到的電腦或手機上的圖像具有各種色彩,形狀。那麼,它們在計算機裡面是怎麼表示的呢?計算機只認識"0"和"1"。其實不管什麼圖像,對計算機而言就是一堆數字。

圖像處理入門

圖1 黑白圖像

比如圖1,我們看到的是黑白圖像,其實在計算機裡面就只有"0"和"1",其中"0"表示黑色,"1"表示白色。

圖像處理入門

圖2 灰度圖像

圖2是一張灰度圖像,這個灰度圖像就類似於我們早期的黑白電視的圖像,在計算機內也是一堆數字,對於灰度圖而言,數字不只是"0"和"1",而是"0"到"255"之間的任意數字。其中"0"表示黑色,"255"表示白色,中間的數字依次表示黑色到白色之間的過渡。數字在計算機裡面是用二進制表示的,灰度圖像從"0"到"255"之間的每個數字表示像素值,每個像素值以二進制方式存儲在計算機裡面。如果我們用數字的方式來看上面的圖像,就類似於下面這一堆數字

圖像處理入門

圖3 灰度圖的數字表示

所以,我們說數字圖像處理,因為圖像在計算機裡面就是一堆數字,我們處理的是具體的數字。顯然,這一堆數字看起來就像是二維矩陣。所以,用二維矩陣來存儲圖像數據非常合理。同時,很多人一看到這對數字,就感覺與線性代數中學的矩陣知識有關,就會想到用矩陣的知識來處理圖像。學習數字圖像處理與數學有很大關係。但是,圖像處理不僅僅是矩陣的知識,也包括很多別的方面的數學知識,比如概率論。即使最簡單的高等數學中學的知識,也有很多應用在數字圖像處理中,比如求導數來提取邊界。簡單的說,數字圖像處理就是對這些數字進行數學運算,然後得到我們相應的特徵信息。至於用到哪些數學知識,就看你自己的本事了。

圖像處理入門

圖4 彩色圖像

圖像處理入門

圖5 彩色圖像的數字表示

圖4和圖5是24位彩色圖像以及數字表示,彩色圖像在計算機裡面採用RGB三種顏色表示,現實世界中的各種顏色,可以用RGB三種顏色的不同組合來模擬。每種顏色有"0"到"255"種,RGB三種顏色就可以組合成各種不同的顏色。看起來與我們在現實世界上看到的各種彩色圖像一樣。

上面介紹了灰度圖和彩色圖,平時我們說的8位灰度圖,24位彩色圖是指圖像的位數。8位圖像是指圖像每個像素在計算機中所佔的二進制位數。24位表示每個像素值佔24位。RGB三個顏色通道每個顏色佔8位。

圖像處理入門

圖6 像素值的二進制表示

圖6 是8位灰度圖像中一個像素值的二進制表示,其實8位圖像的像素值是索引值,對於灰度圖而言,RGB三個顏色通道在每個像素值上是相同的,所以,我們只需要存儲一個值就可以,這樣可以節省存儲空間,由於RGB三個通道的值相同,因此,索引值也就是具體的像素值。除了8位,24位之外,還有一種16位彩色圖像,這種彩色圖像每個像素用16位來表示,RGB三個通道中每個通道不是8位來表示的,具體如下圖

圖像處理入門

圖7 16位圖像的存儲方式

上圖只表示了一種16位圖像的存儲方式,每種顏色佔5位,最高位空著,用"0"表示。稱為555格式,16位圖像的顏色值需要進行變換,這種圖像稱為高彩色,或叫增強型16位色,或64K色。這種圖像處理起來比較麻煩,現在感覺使用也不多了。

24位圖像每個像素24位,佔據三個字節,每個字節表示RGB的每個分量,真彩色,顏色級有2^24種,完全可以表示真實世界中的顏色。

圖像處理入門

圖8 24位圖像的存儲方式

所謂數字圖像處理,就是對這些數字進行運算,然後得出我們想要的特徵。8位灰度圖像佔用的計算機存儲空間小,數據量也小,運算速度快。因此,在實際應用中,常採集這種灰度圖來進行特徵檢測。一般如果需要通過顏色來區分特徵才使用24位彩色圖。


分享到:


相關文章: