灰度共生矩阵纹理特征提取_纹理特征提取
紋理通常被定義為圖像的某種局部特征,或是對局部區域中像素之間關系的一種度量。
紋理的標志有三要素:①某種局部的序列性,在該序列更大的區域內不斷重復;②序列是由基本部分非隨機排列組成的;③各部分大致都是均勻的統一體,紋理區域內任何地方都有大致相同的結構尺寸。
紋理可分為人工紋理和自然紋理,如下圖所示:
常用的紋理特征提取方法主要有:統計方法;幾何法;模型法;信號處理法;結構分析法。
共生矩陣:灰度共生矩陣(GLCM)描述了圖像中灰度為Ik的像素從(i,j)沿指定方向和距離d移動到(i',j')處灰度為Ie的概率。GLCM不但適用于紋理識別,而且用于圖像分割時效果也很好。共生矩陣的本質是兩個像素點的聯合直方圖,實驗如下:
實驗數據:(玻璃裂紋,如下圖所示)
原始紋理圖
灰度共生矩陣實驗代碼如下所示:
%{本實驗用于灰度共生矩陣實驗讀取一張圖像并將其灰度化獲取預處理后灰度圖像的共生矩陣并顯示分析%}img = imread('1.jpg'); % 讀取實驗圖像img_gray = rgb2gray(img); % 將圖像轉為灰度圖[r,c,l] = size(img_gray); % 獲取圖像的大小a = 1;b = 0; % 人為定義a和bGLCM = zeros(256,256); % 預設與灰度級相當的共生矩陣% 遍歷圖像修正灰度共生矩陣for i = 1:1:r - a for j = 1:1:c - b f1 = img_gray(i,j); f2 = img_gray(i + a,j + b); GLCM(f1 + 1,f2 + 1) = GLCM(f1 + 1,f2 + 1) + 1; end endGLCM = GLCM/max(max(GLCM)); % 共生矩陣歸一化 imshow(GLCM); % 共生矩陣可視化msgbox '完成!';設置a =?1,b = 0,生成的共生矩陣以圖像的形式顯示,如下圖所示:
設置a =?1,b = 1,生成的共生矩陣以圖像的形式顯示,如下圖所示:
設置a =?2,b =?0,生成的共生矩陣以圖像的形式顯示,如下圖所示:
實驗2:實驗數據:(細小木紋的圖像,如下圖所示)
設置a =?1,b = 0,生成的共生矩陣以圖像的形式顯示,如下圖所示:
設置a =?1,b = 1,生成的共生矩陣以圖像的形式顯示,如下圖所示:
設置a =?2,b = 0,生成的共生矩陣以圖像的形式顯示,如下圖所示:
可見,距離(a,b)取值不同,灰度共生矩陣中的值不同。a和b的取值要根據紋理周期分布的特性來選擇,對于較細的紋理,選(1,0),(1,1),(2,0)等這樣的數值是必要的。a,b取值較小對應變化緩慢的紋理圖像,其灰度共生矩陣對角線上的數值較大。紋理變化越快,則對角線上的數值越小,而對角線兩側數值增大。
如上兩個實驗,實驗一,紋理變化緩慢,共生矩陣呈對角分布;實驗二,紋理較細,共生矩陣呈中心分布,對角分布不明顯。
總結
以上是生活随笔為你收集整理的灰度共生矩阵纹理特征提取_纹理特征提取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想 YOGA Pro 系列笔记本外观公
- 下一篇: 深海迷航熔岩区在哪(2023年田晓鹏执导