• 大小: 4KB
    文件类型: .m
    金币: 2
    下载: 0 次
    发布日期: 2024-02-04
  • 语言: Matlab
  • 标签:

资源简介

灰度共生矩阵特征值灰度共生矩阵特征值灰度共生矩阵特征值灰度共生矩阵特征值灰度共生矩阵特征值灰度共生矩阵特征值灰度共生矩阵特征值灰度共生矩阵特征值

资源截图

代码片段和文件信息

%下面涉及到的主要还是公式编程,具体的算法和你的资料一样,我就不详细介绍算法了,如有对函数不理解的再联系我
Gray = imread(‘main.jpg‘);
[MNO] = size(Gray);
%下面2行用于对待大图片,强制截取其一部分,减少运算量,由于是基于统计,所以对结果影响不大
%M = 256;            %此2行与19、20行相关,详见19、20行
%N = 256;

%--------------------------------------------------------------------------
%1.将各颜色分量转化为灰度,如果图像是灰度图像,就注释掉此段
%  如果未注释此行,运行会出现报错“Index exceeds matrix dimensions.”
%--------------------------------------------------------------------------
Gray = double(0.3*Gray(::1)+0.59*Gray(::2)+0.11*Gray(::3));

%--------------------------------------------------------------------------
%2.为了减少计算量,对原始图像灰度级压缩,将Gray量化成16级
%--------------------------------------------------------------------------
for i = 1:M
    for j = 1:N
        %for n=1:floor(M+N/2)/16  %如果5、6行被注释,则使用此行。floor函数为向负无穷大方向近似,即近似为等于或小于自己的整数
        for n = 1:256/16        %如果5、6行未注释,则使用此行(其实5、6行注释与否使用上行结果都一样,因为M+N/2==256)
            if (n-1)*16<=Gray(ij)&Gray(ij)<=(n-1)*16+15
                Gray(ij) = n-1;
            end
        end
    end
end

%--------------------------------------------------------------------------
%3.计算四个共生矩阵P取距离为1,角度分别为04590135
%--------------------------------------------------------------------------
P = zeros(16164);
for m = 1:16
    for n = 1:16
        for i = 1:M
            for j = 1:N
                if j                    P(mn1) = P(mn1)+1;
                    P(nm1) = P(mn1);
                end
                if i>1&j                    P(mn2) = P(mn2)+1;
                    P(nm2) = P(mn2);
                end
                if i                    P(mn3) = P(mn3)+1;
                    P(nm3) = P(mn3);
                end
                if i                    P(mn4) = P(mn4)+1;
         

评论

共有 条评论

相关资源