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


Posted in Python onApril 22, 2020

一阶矩,定义了每个颜色分量的平均强度

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

二阶矩,反映待测区域颜色方差,即不均匀性

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

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

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 计算灰度图像的一阶矩,二阶矩,三阶矩实例

其中(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+'); %十字标出重心位置

图像的二阶矩

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

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

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

计算方法:

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

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

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

Python 相关文章推荐
Python转码问题的解决方法
Oct 07 Python
python类装饰器用法实例
Jun 04 Python
K-近邻算法的python实现代码分享
Dec 09 Python
基于anaconda下强大的conda命令介绍
Jun 11 Python
django 实现电子支付功能的示例代码
Jul 25 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
Python字典对象实现原理详解
Jul 01 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
Python获取对象属性的几种方式小结
Mar 12 Python
python如何查看安装了的模块
Jun 23 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
深入解析NumPy中的Broadcasting广播机制
May 30 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 #Python
matlab中二维插值函数interp2的使用详解
Apr 22 #Python
python 一维二维插值实例
Apr 22 #Python
Numpy一维线性插值函数的用法
Apr 22 #Python
python数据处理——对pandas进行数据变频或插值实例
Apr 22 #Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
Apr 22 #Python
Jupyter Notebook折叠输出的内容实例
Apr 22 #Python
You might like
构建简单的Webmail系统
2006/10/09 PHP
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
PHP实现手机归属地查询API接口实现代码
2012/08/27 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
PHP实现简易图形计算器
2020/08/28 PHP
JavaScript 函数式编程的原理
2009/10/16 Javascript
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
jquery处理json对象
2014/11/03 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
使用requestAnimationFrame实现js动画性能好
2015/08/06 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
2017/10/25 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
[03:43]2014DOTA2西雅图国际邀请赛 newbee战队巡礼
2014/07/07 DOTA
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
Python实现自动发送邮件功能
2021/03/02 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
python实现单链表的方法示例
2019/09/03 Python
python 安装移动复制第三方库操作
2020/07/13 Python
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
幼儿园教师个人反思
2014/01/30 职场文书
物流管理专业求职信
2014/05/29 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
领导欢迎词致辞
2015/01/23 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
详解vue身份认证管理和租户管理
2021/05/25 Vue.js
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL