資源簡介
提取紋理特征(能量、熵、慣性矩、相關性):將原始圖像灰度化;計算四個共生矩陣P;對共生矩陣歸一化;對共生矩陣計算能量、熵、慣性矩、相關4個紋理參數
代碼片段和文件信息
%提取紋理特征(能量、熵、慣性矩、相關性)
function?[Tt]?=?get_texture(Image)
%Image?=?imread(‘D:\UserData\Administrator\實驗用圖片\林火煙霧.jpg‘);
M=size(Image1);?%讀取輸入圖像尺寸
N=size(Image2);?
%figureimshow(Image);
%--------------------------------------------------------------------------
%1.將原始圖像灰度化
%--------------------------------------------------------------------------
g?=?rgb2gray(Image);
%g(::)?=?0.3*Image(::1)+0.59*Image(::2)+0.11*Image(::3);
g1=g;?%備份原灰度級圖像數據
%figureimshow(g1);
for?i?=?1:M
????for?j?=?1:N
????????for?n?=?1:256/16
????????????if?(n-1)*16<=g(ij)&g(ij)<=(n-1)*16+15
????????????????g(ij)?=?n-1;
????????????end
????????end
????end
end
%figure;
%subplot(121);imshow(g1);
%subplot(122);imshow(g);
%--------------------------------------------------------------------------
%計算四個共生矩陣P取距離為1,角度分別為04590135
P?=?zeros(16164);?%初始化灰度共生矩陣256*256,四層:θ=0°45°90°135°
for?m?=?1:16
????for?n?=?1:16??%逐一填寫16*16共生矩陣各元素值?實際灰度范圍為0~15
????????for?i?=?1:M
????????????for?j?=?1:N??%遍歷整幅圖像
?????????????if?g(ij)==m-1??%找到圖像上灰度為m-1的點
?????????????????if?j ?????????????????????P(mn1)?=?P(mn1)+1;???????%是,則為共生矩陣上相應元素+1
?????????????????end
?????????????????if?i ?????????????????????P(mn2)?=?P(mn2)+1;
?????????????????end
?????????????????if?i ?????????????????????P(mn3)?=?P(mn3)+1;
?????????????????end
?????????????????if?i1&g(i+1j-1)==n-1??%檢查135°像素值
?????????????????????P(mn4)?=?P(mn4)+1;
?????????????????end
?????????????end??????????????
????????????end
????????end
????????P(nm1)?=?P(mn1);?%考慮到向量是有方向的,不能簡單調換xy坐標即聲稱等同!
????????P(nm2)?=?P(mn2);
????????P(nm3)?=?P(mn3);
????????P(nm4)?=?P(mn4);
????????if?m==n
???????????P(mn:)?=?P(mn:)*2;
????????end
????end
end
%%---------
評論
共有 條評論