matlab 计算灰度图像的一阶矩二阶矩三阶矩

Posted wojianxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 计算灰度图像的一阶矩二阶矩三阶矩相关的知识,希望对你有一定的参考价值。

技术图片技术图片?   一阶矩,定义了每个颜色分量的平均强度

技术图片技术图片?  二阶矩,反映待测区域颜色方差,即不均匀性

技术图片技术图片?  三阶矩,定义了颜色分量的偏斜度,即颜色的不对称性

 

close all;clear all;clc;
J = imread(‘lena.jpg‘);
K = imadjust(J,[70/255 160/255],[]);
figure;
subplot(121),imshow(J);
subplot(122),imshow(K);
[m,n] = size(J);
mm = round(m/2);
mn = round(n/2);
[p,q] = size(K);
pp = round(p/2);
qq = round(q/2);
J = double(J);
K = double(K);
colorsum = 0.0;
Javg = mean2(J)  %求原图像一阶矩
Kavg = mean2(K)  %求增强对比度后的图像一阶矩
Jstd = std(std(J))  %求原图像的二阶矩,因为一次std函数表示按列求标准差,两次std表示求整个矩阵的标准差
Kstd = std(std(K))   %求增强对比度后的图像二阶矩
for i=1:mm
    for j=1:mn
        colorsum = colorsum+(J(i,j)-Javg)^3;
    end
end
Jske = (colorsum/(mm*mn))^(1/3)  %求原图像的三阶矩
colorsum = 0.0;
for i=1:pp
    for j=1:qq
        colorsum = colorsum + (J(i,j)-Kavg)^3;
    end
end
Kske = (colorsum/(pp*qq))^(1/3)  %求增强对比度后的图像三阶矩
        
技术图片

部分函数说明:

mean2(A) : 求矩阵A的均值

std(x,flag,dim): 求x的标准偏差

std(x,0,1) : 0表示求标准差时除n-1,1表示按列划分  

std(x,1,2) : 1表示求标准差时除n,2表示按行划分

以上是关于matlab 计算灰度图像的一阶矩二阶矩三阶矩的主要内容,如果未能解决你的问题,请参考以下文章

交通标志识别基于matlab GUI矩匹配算法路标识别含Matlab源码 1175期

颜色矩原理及Python实现

图像分析:边缘检测中的梯度算子

OpenCV3入门图像边缘检测

空域高通滤波器

一阶导数/微分和二阶导数/微分算子在图像锐化处理方面的区别