利用matlab自带函数graycoprops 实现基于共生矩阵的遥感图像纹理特征分析

close all;clear all;clc;
I = imread('yaogan2.jpg');
HSV = rgb2hsv(I);
Hgray = rgb2gray(HSV);
% 计算64位灰度共生矩阵
glcmsl = graycomatrix(Hgray,'numlevels',64,'offset',[0 1;-1 1;-1 0;-1 -1]);
% 纹理特征统计,包括对比度、相关性、熵、平稳度、二阶矩(能量)
stats = graycoprops(glcmsl,{'contrast','correlation','energy','homogeneity'});
ga1 = glcmsl(:,:,1);  %0°
ga2 = glcmsl(:,:,2);  %45°
ga3 = glcmsl(:,:,3);  %90°
ga4 = glcmsl(:,:,4);  %135°
energya1 = 0;energya2=0;energya3=0;energya4=0;
for i=1:64
    for j=1:64
        energya1=energya1+sum(ga1(i,j)^2);
        energya2=energya2+sum(ga2(i,j)^2);
        energya3=energya3+sum(ga3(i,j)^2);
        energya4=energya4+sum(ga4(i,j)^2);
        j=j+1;
    end
    i=i+1;
end
s1=0;s2=0;s3=0;s4=0;s5=0;
for m=1:4
    s1=stats.Contrast(1,m)+s1;  %对比度
    m=m+1;
end
for m=1:4
    s2=stats.Correlation(1,m)+s2;  %相关性
    m=m+1;
end
for m=1:4
    s3=stats.Energy(1,m)+s3;  %熵
    m=m+1;
end
for m=1:4
    s4=stats.Homogeneity(1,m)+s4;  %平稳度
    m=m+1;
end
s5 = 0.000001*(energya1+energya2+energya3+energya4);  %二阶矩(能量)

 

yaogan1.jpg
yaogan2.jpg

 

 对比度相关性平稳度二阶矩(能量)
山脉遥感(yaogan1.jpg)1.5356e+023.06950.00901.38646.8678e+02
城镇遥感(yaogan2.jpg)65.21172.63870.04582.14182.3649e+03

山脉遥感对比度明显高于城镇,城镇遥感的平稳度和能量明显大于山脉。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值