用 Matlab 编写图像灰度—平滑共生矩阵及其特征量计算(2008-04-30
00:07:10)
标签:matlab 编程it教育
分类:Matlab 编程
共生矩阵法在图像的纹理特征分析中具有广泛的应用,常用的共生矩阵有灰
度共生矩阵、灰度—梯度共生矩阵、灰度—平滑共生矩阵。其中灰度共生矩阵
有利于反映了图像纹理的方向性;灰度—梯度共生适于刻画图像的细纹理、对
旋转性不敏感;灰度—平滑共生矩阵图图像旋转也不敏感,利于描述较粗纹理。
下面以灰度—平滑共生矩阵为例编写相应的纹理特征分析的程序。
该方法将原始图像灰度直方图和平滑图像灰度直方图相结合,研究二者的
联合统计分布。对于归一化的共生矩阵,可以定义反差、熵、逆差距、灰度相
关、能量、集群荫、集群突出等特征统计量。程序如下:
a=double(a); % a 表示原始图像灰度矩阵
hw=2; % hw 为平滑窗口的大小
[m n]=size(a);
b=zeros(m-2*hw,n-2*hw,2);
for i=1+hw:m-hw %求平滑矩阵
for j=1+hw:n-hw
wi=a(i-hw:i+hw,j-hw:j+hw);
b(i-hw,j-hw,1)=mean2(wi);
end
end
b(:,:,2)=a(1+hw:m-hw,1+hw:n-hw);
b=uint8(b);
[m n l]=size(b);
h=zeros(256,256);
for i=1:m %求联合分布直方图
for j=1:n