引言
之前寫過很多圖像直方圖相關的知識跟OpenCV程序演示,這篇算是把之前的都回顧一波。做好自己的知識梳理。
圖像直方圖
圖像直方圖是圖像的基本屬性之一,也是圖像像素數據分布的統計學特征,常見的圖像直方圖可以分為二值圖像的直方圖表示如下:
上圖a是4x4的二值圖像,b是對應的直方圖,可以看出X軸表示像素范圍(0-黑色、1-白色),Y軸表示像素值出現的頻次,即分布。
對灰度圖像來說,它的像素值取值范圍會擴展到0~255之間,其直方圖可以表示如下:
從上面的圖中可以發現灰度圖像的直方圖依然是X軸表示像素值范圍、Y軸表示各個像素值出現頻次,即像素分布。
彩色圖像有紅色、綠色、藍色三個通道,其直方圖表示稍微復雜一點,要對每個通道進行直方圖計算跟表示,圖示如下:
可以看出彩色圖像的三個通道各自對應一個直方圖分布。
直方圖閾值化
OpenCV中支持的兩種閾值計算的二值化方法
THRESH_OTSU
THRESH_TRIANGLE
均是基于圖像直方圖實現圖像二值化分割,其中OTSU閾值分割(大津)對直方圖為雙峰的灰度圖像效果比較好,圖示如下:
而三角法對直方圖分布單峰的圖像分割效果比較好,圖示如下下:
直方圖均衡化
直方圖均衡化是一種通過提升圖像對比度實現圖像增強的方法,它跟最基礎的基于像素差值放縮改變對比度的方法效果更好。圖示如下:
從上圖中可以看出,最左側列是輸入圖像,是低對比度圖像,左側二列為直接改變像素值獲得對比度提升圖像,左側三列是通過直方圖均衡化完成對比度提升,最右側一列也是通過直方圖均衡化完成,不過是基于局部直方圖均衡化。OpenCV中支持兩種直方圖均衡化方法分別是:
正常的直方圖均衡化(全局直方圖均衡化)
對比度受限的自適應直方圖均衡化(CLAHE-局部自適應直方圖均衡化)
特別需要注意的是OpenCV的直方圖均衡化函數都只支持單通道八位的圖像、對RGB彩色圖像來說,要實現直方圖均衡化提升對比度必須先轉換到HSV色彩空間,然后對亮度通道V進行直方圖均衡化之后再轉換到RGB色彩空間顯示。
直方圖對比
圖像直方圖還可以實現圖像相似性簡單分析與查找,其原理是對兩張圖像生成的直方圖分布數據,進行歸一化之后比較,根據數據像素程度,從而判定圖像內容的相似程度,該方法可靠性雖然不高,但勝在快捷方便。OpenCV中支持的直方圖比較的方法有如下:
相關函數為:
compareHist( InputArray H1, InputArray H2, int method )
參數解釋
H1表示第一張圖的直方圖
H2表示第二張圖的直方圖
method表示直方圖比較的方法,支持卡方、相關性,交叉、巴氏距離
直方圖反向投影
圖像反向投影的最終目的是獲取ROI然后實現對ROI區域的標注、識別、測量等圖像處理與分析,是計算機視覺與人工智能的常見方法之一。反向投影通常是彩色圖像投影效果會比灰度圖像效果要好,原因在于彩色圖像帶有更多對象細節信息,在反向投影的時候更加容易判斷、而轉為灰度圖像會導致這些細節信息丟失、從而導致分割失敗。最常見的是基于圖像直方圖特征的反向投影,正是因為直方圖反向投影有這樣能力,所以在經典的MeanShift與CAMeanShift跟蹤算法中一直是通過直方圖反向投影來實現已知對象物體的定位。
需要注意的是,直方圖反向投影是基于顏色的,所以會對RGB彩色圖像轉換到HSV色彩空間,然后基于H跟S兩個通道生成2D直方圖數據分布,如下圖所示:
其它類型圖像直方圖與直方圖缺陷
除了圖像像素分布直方圖,還有一些其他類型基于圖像梯度跟角度的直方圖類型,總結如下:
-圖像像素直方圖
-圖像梯度直方圖
-圖像角度直方圖
后面兩種類型的直方圖在SIFT跟HOG特征提取的算法中都有應用,但是同時直方圖只是數據統計信息,沒有包含圖像空間信息,所以通過直方圖無法正確描述圖像的結構化信息。它的缺點圖示如下:
上圖說明直方圖數據完全一致的圖像,但是圖像的空間結構完全不同,根本沒有相似性可言,所以圖像直方圖信息只是圖像的基本屬性之一,但是不是圖像的唯一特征。同樣作為圖像的基本屬性之一,直方圖應用范圍非常廣泛,是最基礎的圖像特征向量數據之一,常規的直方圖歸一化即可得到PDF數據。
審核編輯:郭婷
-
計算機
+關注
關注
19文章
7532瀏覽量
88437 -
人工智能
+關注
關注
1794文章
47622瀏覽量
239586 -
OpenCV
+關注
關注
31文章
635瀏覽量
41456
原文標題:opencv | 圖像直方圖的應用場景
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論