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

 更新时间:2020年04月22日 10:16:38   作者:Ibelievesunshine  
这篇文章主要介绍了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表示按行划分

补充知识:图像的重心和二阶矩

图像的重心

图像实际上就是个矩阵,每个位置的元素就是该处的像素。 这里碰到了求图像重心的问题,特此总结:

计算公式:

其中(xi,yi)是像素点的坐标,pi是该点的像素值。

以下是利用matlab求图像重心

I = imread(‘1.jpg');
I = rgb2gray(I);
imshow(I);
I = double(I);
[rows,cols] = size(I);
x = ones(rows,1)*[1:cols];
y = [1:rows]'*ones(1,cols);
area = sum(sum(I));
meanx = sum(sum(I.*x))/area;
meany = sum(sum(I.*y))/area;
hold on;
plot(meanx,meany,'r+'); %十字标出重心位置

图像的二阶矩

我们这里只讨论二阶矩的问题。

二阶矩最终是形成了一个二阶矩阵,如下:

计算方法:

其中(r0,c0)是重心坐标。

以上这篇matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Django csrf 验证问题的实现

    Django csrf 验证问题的实现

    csrf是通过伪装来自受信任用户的请求来利用受信任的网站。这篇文章主要介绍了Django csrf 验证问题的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • python 读取修改pcap包的例子

    python 读取修改pcap包的例子

    今天小编就为大家分享一篇python 读取修改pcap包的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python制作小说爬虫实录

    python制作小说爬虫实录

    本文给大家介绍的是作者所写的第一个爬虫程序的全过程,从构思到思路到程序的编写,非常的细致,有需要的小伙伴可以参考下
    2017-08-08
  • Python实现常用文本内容提取

    Python实现常用文本内容提取

    在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下
    2025-03-03
  • Python中index()函数与find()函数的区别详解

    Python中index()函数与find()函数的区别详解

    这篇文章主要介绍了Python中index()函数与find()函数的区别详解,Python index()方法检测字符串中是否包含子字符串 str ,如果指定beg开始和end结束范围,则检查是否包含在指定范围内,需要的朋友可以参考下
    2023-08-08
  • Python 连连看连接算法

    Python 连连看连接算法

    这段时间老是“不务正业”的搞一些东西玩。之前的贪吃蛇,俄罗斯方块激发了我研究游戏算法的兴趣。经过1个星期的构思,连连看的连接算法终于出炉了。再过一段时间就基于这个算法使用JavaScript推出网页版的连连看。下面是说明及代码。
    2008-11-11
  • 基于Python制作三款起床闹钟的示例代码

    基于Python制作三款起床闹钟的示例代码

    每天上班最痛苦的事情就是早起早起早起!这是大部分上班族的痛苦,但是不上班又是不可能的啦,因为都是为了搞钱。本文用Python制作了三款有趣的闹钟,感兴趣的可以学习一下
    2022-05-05
  • 教你利用Selenium+python自动化来解决pip使用异常

    教你利用Selenium+python自动化来解决pip使用异常

    今天带大家来学习怎么利用Selenium+python自动化解决pip使用异常,文中介绍的非常详细,对正在学习python的小伙伴们有很大的帮助,需要的朋友可以参考下
    2021-05-05
  • Python生成随机数的方法详解(最全)

    Python生成随机数的方法详解(最全)

    Python生成随机数的方法有很多,譬如random模块、NumPy库、secrets模块等。本文为大家整理了五个生成随机数的方法(应该是最全的了吧),希望对大家有所帮助
    2023-02-02
  • python中threading.Semaphore和threading.Lock的具体使用

    python中threading.Semaphore和threading.Lock的具体使用

    python中的多线程是一个非常重要的知识点,本文主要介绍了python中threading.Semaphore和threading.Lock的具体使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2023-08-08

最新评论