顏色直方圖實現彩色圖象分割

一:原理概述[轉]

二:【顏色直方圖opencv實現】

方法參見

  1. 【轉】OpenCV灰色直方圖

  2. (1)opencv 顏色直方圖
  3. (2)【轉】OpenCV灰色直方圖 
  4. (3)彩色圖像直方圖均衡化及顏色直方圖顯示 opencv實現 完整代碼及詳細註釋
  5. (4)基於opencv和c++的圖像處理:直方圖匹配
  6. (5)OpenCV直方圖簡單例子
  7. (6)顏色直方圖的計算、顯示、處理、對比及反向投影(How to Use Histogram? Calculate, Show, Process, Compare and BackProject)

 

 

三:【按顏色直方圖分割圖像】

分割基礎:顏色比例(如最大比例80%)

分割方式:按多尺度模式,多級分割,不同級別之間依據梯度直方圖

具體描述:

(1)先求出直方圖,(考慮是否需要根據梯度確定直方圖階次或者說顏色範圍,如何顏色在多少之間歸爲一個直方圖)

(2)根據直方圖確定一級單元(也就是最大一級或者說最大面積單元)的顏色(或者顏色範圍),顏色範圍的確定可以根據梯度直方圖。

(3)在剩餘的圖像中確定二級單元,以此類推。

 

一:原理概述[轉]

顏色特徵是在圖像檢索中應用最爲廣泛的視覺特徵,主要原因在於顏色往往和圖像中所包含的物體或場景十分相關。此外,與其他的視覺特徵相比,顏色特徵對圖像本身的尺寸、方向、視角的依賴性較小,從而具有較高的魯棒性。

面向圖像檢索的顏色特徵的表達涉及到若干問題。首先,我們需要選擇合適的顏色空間來描述顏色特徵;其次,我們要採用一定的量化方法將顏色特徵表達爲向量的形式;最後,還要定義一種相似度(距離)標準用來衡量圖像之間在顏色上的相似性。在本節中,我們將主要討論前兩個問題,並介紹顏色直方圖、顏色矩、顏色集、顏色聚合向量以及顏色相關圖等顏色特徵的表示方法。

1 顏色直方圖

顏色直方圖是在許多圖像檢索系統中被廣泛採用的顏色特徵。它所描述的是不同色彩在整幅圖像中所佔的比例,而並不關心每種色彩所處的空間位置,即無法描述圖像中的對象或物體。顏色直方圖特別適於描述那些難以進行自動分割的圖像。

當然,顏色直方圖可以是基於不同的顏色空間和座標系。最常用的顏色空間是RGB顏色空間,原因在於大部分的數字圖像都是用這種顏色空間表達的。然而,RGB空間結構並不符合人們對顏色相似性的主觀判斷。因此,有人提出了基於HSV空間、Luv空間和Lab空間的顏色直方圖,因爲它們更接近於人們對顏色的主觀認識。其中HSV空間是直方圖最常用的顏色空間。它的三個分量分別代表色彩(Hue)、飽和度(Saturation)和值(Value)。

計算顏色直方圖需要將顏色空間劃分成若干個小的顏色區間,每個小區間成爲直方圖的一個bin。這個過程稱爲顏色量化(color quantization)。然後,通過計算顏色落在每個小區間內的像素數量可以得到顏色直方圖。顏色量化有許多方法,例如向量量化、聚類方法或者神經網絡方法。最爲常用的做法是將顏色空間的各個分量(維度)均勻地進行劃分。相比之下,聚類算法則會考慮到圖像顏色特徵在整個空間中的分佈情況,從而避免出現某些bin中的像素數量非常稀疏的情況,使量化更爲有效。另外,如果圖像是RGB格式而直方圖是HSV空間中的,我們可以預先建立從量化的RGB空間到量化的HSV空間之間的查找表(look-up table),從而加快直方圖的計算過程。

上述的顏色量化方法會產生一定的問題。設想兩幅圖像的顏色直方圖幾乎相同,只是互相錯開了一個bin,這時如果我們採用L1距離或者歐拉距離(見3.1.1節)計算兩者的相似度,會得到很小的相似度值。爲了克服這個缺陷,需要考慮到相似但不相同的顏色之間的相似度。一種方法是採用二次式距離[4](見3.1.3節)。另一種方法是對顏色直方圖事先進行平滑過濾,即每個bin中的像素對於相鄰的幾個bin也有貢獻。這樣,相似但不相同顏色之間的相似度對直方圖的相似度也有所貢獻。

選擇合適的顏色小區間(即直方圖的bin)數目和顏色量化方法與具體應用的性能和效率要求有關。一般來說,顏色小區間的數目越多,直方圖對顏色的分辨能力就越強。然而,bin的數目很大的顏色直方圖不但會增加計算負擔,也不利於在大型圖像庫中建立索引。而且對於某些應用來說,使用非常精細的顏色空間劃分方法不一定能夠提高檢索效果,特別是對於不能容忍對相關圖像錯漏的那些應用。另一種有效減少直方圖bin的數目的辦法是隻選用那些數值最大(即像素數目最多)的bin來構造圖像特徵,因爲這些表示主要顏色的bin能夠表達圖像中大部分像素的顏色。實驗證明這種方法並不會降低顏色直方圖的檢索效果。事實上,由於忽略了那些數值較小的bin,顏色直方圖對噪聲的敏感程度降低了,有時會使檢索效果更好。兩種採用主要顏色構造直方圖的方法可以在文獻[5,6]中找到。

2 顏色矩

另一種非常簡單而有效的顏色特徵使由Stricker 和Orengo所提出的顏色矩(color moments) [7]。這種方法的數學基礎在於圖像中任何的顏色分佈均可以用它的矩來表示。此外,由於顏色分佈信息主要集中在低階矩中,因此僅採用顏色的一階矩(mean)、二階矩(variance)和三階矩(skewness)就足以表達圖像的顏色分佈。與顏色直方圖相比,該方法的另一個好處在於無需對特徵進行向量化。因此,圖像的顏色矩一共只需要9個分量(3個顏色分量,每個分量上3個低階矩),與其他的顏色特徵相比是非常簡潔的。在實際應用中爲避免低次矩較弱的分辨能力,顏色矩常和其它特徵結合使用,而且一般在使用其它特徵前起到過濾縮小範圍(narrow down)的作用。

3 顏色集

爲支持大規模圖像庫中的快速查找,Smith和Chang提出了用顏色集(color sets)作爲對顏色直方圖的一種近似[8]。他們首先將RGB顏色空間轉化成視覺均衡的顏色空間(如HSV空間),並將顏色空間量化成若干個bin。然後,他們用色彩自動分割技術將圖像分爲若干區域,每個區域用量化顏色空間的某個顏色分量來索引,從而將圖像表達一個二進制的顏色索引集。在圖像匹配中,比較不同圖像顏色集之間的距離和色彩區域的空間關係(包括區域的分離、包含、交等,每種對應於不同得評分)。因爲顏色集表達爲二進制的特徵向量,可以構造二分查找樹來加快檢索速度,這對於大規模的圖像集合十分有利。

4 顏色聚合向量

針對顏色直方圖和顏色矩無法表達圖像色彩的空間位置的缺點,Pass[9]提出了圖像的顏色聚合向量(color coherence vector)。它是顏色直方圖的一種演變,其核心思想是將屬於直方圖每一個bin的像素進行分爲兩部分:如果該bin內的某些像素所佔據的連續區域的面積大於給定的閾值,則該區域內的像素作爲聚合像素,否則作爲非聚合像素。假設αi與βi分別代表直方圖的第i個bin中聚合像素和非聚合像素的數量,圖像的顏色聚合向量可以表達爲<(α1, β1), (α2, β2), …, (αN, βN)>。而<α1 + β1, α2 + β2, …, αN +βN > 就是該圖像的顏色直方圖。由於包含了顏色分佈的空間信息,顏色聚合向量相比顏色直方圖可以達到更好的檢索效果。

5 顏色相關圖

顏色相關圖(color correlogram)是圖像顏色分佈的另一種表達方式[16]。這種特徵不但刻畫了某一種顏色的像素數量佔整個圖像的比例,還反映了不同顏色對之間的空間相關性。實驗表明,顏色相關圖比顏色直方圖和顏色聚合向量具有更高的檢索效率,特別是查詢空間關係一致的圖像。

如果考慮到任何顏色之間的相關性,顏色相關圖會變得非常複雜和龐大(空間複雜度爲O(N2d))。一種簡化的變種是顏色自動相關圖(color auto-correlogram),它僅僅考察具有相同顏色的像素間的空間關係,因此空間複雜度降到O(Nd)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章