3.3 基于顏色的目標提取
3.3.1 色相、亮度、飽和度及其他[1]
在2.3節介紹了彩色圖像是由紅(R)、綠(G)、藍(B)三個分量的灰度圖像組成。當拍攝綠草地時,與R、B分量相比,G分量較強;對于藍天來說,與R、G分量相比,B分量較強。根據R、G、B分量值的不同,人們可以見到各種各樣的顏色。在進行彩色圖像處理時,不僅要考慮位置和灰度信息,還要考慮彩色信息。
對于同一種顏色,不同的人,腦子里所想的顏色可能不相同。為了定量地表現顏色,可以把顏色分成三個特性來表現,第一個特性是色調或者色相H(hue),用來表示顏色的種類。第二個特性是明度V(value)或者亮度Y(brightness)或I(intensity),用來表示圖像的明暗程度。第三個特性是飽和度或彩度S(saturation),用來表示顏色的鮮明程度。這三個特性被稱為顏色的三個基本屬性。顏色的這三個基本屬性可以用一個理想化的雙錐體HSI模型來表示,圖3.5顯示了彩色雙錐體HSI模型。雙錐體軸線代表亮度值。垂直于軸線的平面表示色調與飽和度,用極坐標形式表示,即夾角表示色調,徑向距離表示在一定色調下的飽和度。

圖3.5 顏色的理想模型
模擬彩色電視信號也是把R、G、B信號變換到亮度信號Y和色差信號C1、C2的。其關系式如下:
(3.9)
式(3.10)表示了R、G、B信號與Y、C1、C2的關系。其中亮度信號Y相當于灰度圖像,色差信號C1、C2是除去了亮度信號所剩下的部分。從亮度信號、色差信號求R、G、B的公式如下:
(3.10)
上述的色差信號與色調、飽和度之間有如圖3.6所示的關系。這個圖與圖3.5所示垂直于亮度軸線方向上的投影平面,即彩色圓是一致的。從圖3.6可以看出,色調H表示從以色差信號B-Y(即C2)為基準的坐標軸開始旋轉了多少角度,飽和度S表示離開原點多大的距離。用公式表示的話,色調H、飽和度S與色差的關系表示如下:
(3.11)
相反,從色調H、飽和度S變換到色差信號的公式如下:
(3.12)

圖3.6 色差信號與色調、飽和度、亮度的關系
把彩色圖像的R、G、B變換為亮度、色調、飽和度的圖像。將亮度信號圖像可視化得到的就是灰度圖像。色調和飽和度是各自將它們的差值作為灰度差來進行圖像可視化。色調的表示是從某基準的顏色開始計算在0°~180°之間旋轉多少角度,當與基準顏色相同(色調的旋轉角為0°)時為255,相對方向的補色(色調的旋轉角為180°)時為0,中間用254級的灰度表示。在色調的表示中,當飽和度為0(即無顏色信號)時不計算色調,常常給予0灰度級。飽和度的圖像是將飽和度的最小值作為像素的最小值0,將飽和度的最大值作為像素的最大值255,依次按比例將飽和度的數據轉換為圖像數據。
對實際圖像進行上述變換的結果如圖3.7所示,其中圖3.7(a)是原始圖像,圖3.7(b)是其亮度信號的圖像。原始圖像中寵物兔的紅色成分較多,由于色調信號以紅色為基準,因此圖3.7(c)所示的色調信號圖像整體偏亮。由于整個圖像的顏色不是很深,所以圖3.7(d)的飽和度信號偏暗,特別是背景地板磚的飽和度最低。
可以看出,對于該圖像,利用H或者S信號圖像,對目標物兔子進行二值化提取,應該更容易一些。因此將RGB轉換成HSI有時更有利于目標物的提取,但是與利用RGB信號相比,將會付出多倍的處理時間。
對于顏色的描述,除了RGB和HSI之外,還有L*a*b*、UYV、XYZ等諸多模型。這些模型可以根據情況應用于不同的目的和場景。

圖3.7 顏色的三個基本屬性
3.3.2 顏色分量及其組合處理
對于自然界的目標提取,可以根據目標的顏色特征,盡量使用R、G、B分量及它們之間的差分組合,這樣可以有效避免自然光變化的影響,快速有效地提取目標。以下舉例說明基于顏色差分的目標提取。
(1)果樹上紅色桃子的提取[2]
①原圖像。圖3.8為采集的果樹上桃子彩色原圖像的例圖像,分別代表了單個果實、多個果實成簇、果實相互分離或相互接觸等生長狀態以及不同光照條件和不同背景下的圖像樣本。圖3.8(a)為順光拍攝,光照強,果實單個生長,有樹葉遮擋,背景主要為樹葉。圖3.8(b)為強光照拍攝,果實相互接觸,有樹葉遮擋,背景主要為枝葉。圖3.8(c)為逆光拍攝,圖像中既有單個果實又存在果實相互接觸,且果實被樹葉部分遮擋,背景主要為枝葉和直射陽光。圖3.8(d)為弱光照、相機自動補光拍攝,果實相互接觸,無遮擋,背景主要為樹葉。圖3.8(e)為順光拍攝,既有單個果實,又存在果實相互接觸及枝干干擾。圖3.8(f)為強光照拍攝,既有單果實,又存在果實間相互遮擋,并含有枝干干擾及樹葉遮擋。

圖3.8 彩色原圖像
②桃子的紅色區域提取。由于成熟桃子一般帶紅色,因此對彩色原圖像首先利用紅、綠色差信息提取圖像中桃子的紅色區域,然后再采用與原圖進行匹配膨脹的方法來獲得桃子的完整區域。
對圖像中的像素點(xi,yi)(xi、yi分別為像素點i的x坐標和y坐標,0≤i<n,n為圖像中像素點的總數),設其紅色(R)分量和綠色(G)分量的像素值分別為R(xi,yi)和G(xi,yi),其差值為βi=R(xi,yi)-G(xi,yi),由此獲得一個灰度圖像(RG圖像),若βi>0,設灰度圖像上該點的像素值為βi,否則為0(黑色)。之后計算RG圖像中所有非零像素點的均值α(作為二值化的閾值)。逐像素掃描RG圖像,若βi>α,則將該點像素值設為255(白色),否則設為0(黑色),獲得二值圖像,并對其進行補洞和面積小于200像素的去噪處理(見第5章)。
圖3.9分別為圖3.8采用R-G色差均值為閾值提取桃子紅色區域的二值圖像。從圖3.9的提取結果可以看出,該方法對圖3.8中的各種光照條件和不同背景情況都能較好地提取出桃子的紅色區域。
對于圖3.9的二值圖像,再進行邊界跟蹤、匹配膨脹、圓心點群計算、圓心點群分組、圓心及半徑計算等步驟,獲得圖3.10所示的桃子中心及半徑的檢測結果。由于其他各步處理超出了本章內容范圍,不做詳細介紹。

圖3.9 提取圖3.8桃子紅色區域的二值圖像

圖3.10 輪廓提取及擬合結果
(2)綠色麥苗的提取[3]
小麥從出苗到灌漿,需要進行許多田間管理作業,其中包括松土、施肥、除草、噴藥、灌溉、生長檢測等。不同的管理作業又具有不同的作業對象。例如,在噴藥、噴灌、生長檢測等作業中,作業對象為小麥列(苗列);在松土、除草等作業中,作業對象為小麥列之間的區域(列間)。無論何種作業,首先都需要把小麥苗提取出來。雖然在不同季節小麥苗的顏色有所不同,但是都是呈綠色。如圖3.11所示,(a)為11月(秋季)小麥生長初期陰天的圖像,土壤比較濕潤;(b)為2月(冬季)晴天的圖像,土壤干旱,發生干裂;(c)為3月(春季)小麥返青時節陰天的圖像,土壤比較松軟;(d)~(f)分別為以后不同生長階段不同天氣狀況的圖像。這6幅圖分別代表了小麥的不同生長階段和不同的天氣狀況。

圖3.11 不同生長期麥田原圖像示例
由于麥苗的綠色成分大于其他兩個顏色成分,為了提取綠色的麥苗,可以通過強調綠色成分、抑制其他成分的方法把麥田彩色圖像變化為灰度圖像。具體方法如式(3.13)所示。
(3.13)
其中,G、R、B表示點(x,y)在彩色圖像中的綠、紅、藍顏色值,pixel(x,y)表示點(x,y)在處理結果灰度圖像中的像素值。圖3.12是經過上述處理獲得的灰度圖像。

圖3.12 2G-R-B的灰度圖像
針對灰度圖3.12的灰度圖像,利用大津法確定二值化處理的分割閾值,具體步驟如下:
①計算灰度圖像的灰度平均值,作為初始閾值t0。
②利用t0把灰度圖像劃分為Q1和Q2兩個區域,即將像素值小于t0的像素歸于Q1區域、大于t0的像素歸于Q2區域。
③分別計算Q1和Q2兩個區域內的灰度平均值t1和t2,設t1、t2的平均值為新閾值td,即td=(t1+t2)/2。
④判斷t0與td是否相等。
a.如果相等,設最終閾值T=td。
b.如果不相等,令t0=td,轉到步驟②,循環執行,直到獲得最終閾值T為止。
以T為分割閾值對灰度圖像進行二值化處理,設像素值大于T的像素為白色(255)代表苗列,像素值小于T的像素為黑色(0)代表列間。處理結果如圖3.13所示,二值圖像上的白色細線是后續處理檢測出的導航線。二值化處理結果表明,該自適應閾值方法不受光照、背景等自然條件的影響,能夠把麥苗較好地提取出來,并且不需要消除噪聲、濾波等其他的輔助處理。由于閾值的確定不需要人為設定,完全根據圖像本身的像素值信息來自動確定,大大提高了處理精度。

圖3.13 大津法二值化處理結果