本文參考自?OpenCV22(灰度共現(xiàn)矩陣/灰度共生矩陣)
一、什么是灰度共生矩陣(Grey-Level Co-occurrence Matrix)
一種描述圖像局部區(qū)域或整體區(qū)域的某像素與相鄰像素或一定距離內(nèi)的像素的灰度關(guān)系的矩陣(大白話:灰度圖像中某種形狀的像素對(duì),在全圖中出現(xiàn)的次數(shù))。
該矩陣中的元素值表示灰度級(jí)之間聯(lián)合條件概率密度 P(i, j | d, θ),即在給定空間距離d和方向θ時(shí),灰度以i為起始點(diǎn)(行),出現(xiàn)灰度級(jí)j(列)的概率(對(duì)頻數(shù)進(jìn)行歸一化,即除以所有頻數(shù)之和)。
二、基本概念
1. 矩陣的大小:如果不對(duì)原圖像進(jìn)行灰度級(jí)別的壓縮的話,GLCM的大小為原灰度級(jí)^2;在實(shí)際應(yīng)用中,從紋理特征的計(jì)算效率以及GLCM矩陣的存儲(chǔ)方面考慮,通常先把原始圖像的灰度等級(jí)進(jìn)行壓縮,比如從灰度級(jí)別為0-255的8bit圖像壓縮為灰度級(jí)別0-31的5bit圖像,相應(yīng)的共生矩陣的維數(shù)就從256*256降低到了32*32。
2. 基準(zhǔn)窗口:以當(dāng)前像素為中心,尺寸通常為奇數(shù)(3*3, 5*5, 7*7等)的一個(gè)窗口。
3. 滑動(dòng)窗口:以基準(zhǔn)窗口作為參考窗口,通過先前規(guī)定的移動(dòng)方向和步長(zhǎng)進(jìn)行移動(dòng)的窗口。尺寸與基準(zhǔn)窗口相同。
4. 移動(dòng)方向:基準(zhǔn)窗口與移動(dòng)窗口的相對(duì)方向。移動(dòng)方向可以任意設(shè)定,通常為 0°, 45°,90°,135°
5. 移動(dòng)步長(zhǎng):基準(zhǔn)窗口中心像素和滑動(dòng)窗口中心像素的像素距離
三、灰度共生矩陣的統(tǒng)計(jì)屬性
灰度共生矩陣雖然提供了圖像灰度方向、間隔和變化幅度的信息,但它不能直接提供區(qū)別紋理的特性,因此需要在GLCM的基礎(chǔ)上計(jì)算用來定量描述紋理特征的統(tǒng)計(jì)屬性——常用的9種紋理特征統(tǒng)計(jì)屬性為
均值(Mean),方差(Variance),標(biāo)準(zhǔn)差(Std),同質(zhì)性(Homogeneity),對(duì)比度(Contrast),非相似性(Dissimilarity),熵(Entropy),角二階矩(Angular Second Moment),相關(guān)性(Correlation)
四、具體示例
假設(shè)原圖像為
對(duì)應(yīng)的灰度值為
對(duì)灰度等級(jí)進(jìn)行壓縮(256 -> 3)
可以知道,這個(gè)圖像的灰度是3階,也就是說,我們的GLCM,是3階方陣(GLCM的階數(shù)等于灰度的等級(jí)數(shù))
δ:表示像素對(duì)的位置關(guān)系(兩個(gè)像素相對(duì)位置關(guān)系,分為水平、垂直,+45,-45)
i、j:分別表示兩個(gè)像素的灰度等級(jí);
n(i, j):表示灰度等級(jí)i和j的像素對(duì),在δ定義的位置關(guān)系下,出現(xiàn)的次數(shù)
比如n(0,0),δ定義為水平,(0,0)像素對(duì)水平排列在灰度圖中出現(xiàn)的次數(shù)為“0”
比如n(0,1),δ定義為水平,(0,1)像素對(duì)水平排列在灰度圖中出現(xiàn)的次數(shù)為“12”
如圖:
即最后得到的GLCM 如下(注意 (2,0), (1, 2) 水平出現(xiàn)的次數(shù)也為12):