Halcon算子:灰度共生矩陣gen_cooc_matrix、cooc_feature_matrix、cooc_feature_image

1、灰度共生矩陣

         圖像的紋理一般具有重複性,紋理單元往往會以一定的規律出現的圖像上,因此這種圖像中一定距離之內往往會有兩兩灰度相同的像素點對,這種特性就適合用灰度共生矩陣表示。

         取圖像(N×N)中任意一點 (x,y)及偏離它的另一點 (x+a,y+b),設該點對的灰度值爲(g1,g2)。令點(x,y) 在整個畫面上移動,則會得到各種 (g1,g2)值,設灰度值的級數爲 k,則(g1,g2) 的組合共有 k^2;種。對於整個畫面,統計出每一種(g1,g2)值出現的次數,然後排列成一個方陣,在用(g1,g2) 出現的總次數將它們歸一化爲出現的概率P(g1,g2),這樣的方陣稱爲灰度共生矩陣

如圖表示的即爲角度爲0°,距離爲1,灰度等級爲8級的灰度共生矩陣轉換過程。後續還需要對其進行歸一化。

2、特徵表示

調用cooc_feature_image對應於操作符gen_cooc_matrix和cooc_feature_matrix的連續執行。如果要連續計算共現矩陣的多個方向矩陣,則通過gen_cooc_matrix生成矩陣,然後調用運算符cooc_feature_matrix得到的矩陣更有效。參數方向以角度或“均值”的方式傳遞鄰域的方向。在“平均值”的情況下,平均值是在四個方向上計算的。

如圖爲Halcon文檔cooc_feature_matrix中相關的解釋。 

(1)能量:表示灰度共生矩陣中的元素的平方和。能量越大,表示灰度變化比較穩定,反映了紋理變化變化的均勻程度。比如當像素值全部爲1時,對應的共生矩陣中(1,1)有16個,其他爲0,則能量爲16*16,此時能量最大,灰度變化最穩定,因爲都爲0嘛。

(2)相關性:表示紋理在行或者列方向的相似程度。相關性越大,相似性越高。

(3)局部均勻性:反映圖像局部紋理的變化量。值越大,表示圖像局部的變化越小。

(4)反差(對比度):表示矩陣的值的差異程度,也間接表現了圖像的局部灰度變化幅度。反差值越大,圖像中的紋理深淺越明顯,表示圖像越清晰;反之,則表示圖像越模糊。

根據不同的圖片通過選擇不同的特徵類型及值,即可進行缺陷檢測,篩選出我們需要的區域。

如圖爲過程“detect_mura_defects_texture.hdev”,執行分水嶺閾值後,通過能量(Energy)篩選出來的瑕疵。

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