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 获取本机ip地址的两个方法
Feb 25 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
Apr 24 Python
Python插件virtualenv搭建虚拟环境
Nov 20 Python
python实现聚类算法原理
Feb 12 Python
python提取包含关键字的整行数据方法
Dec 11 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 Python
如何用Python来搭建一个简单的推荐系统
Aug 07 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
Apr 30 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
May 18 Python
python线性插值解析
Jul 05 Python
详解Selenium 元素定位和WebDriver常用方法
Dec 04 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
透析PHP的配置文件php.ini
2006/10/09 PHP
PHP学习之字符串比较和查找
2011/04/17 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
javascript学习网址备忘
2007/05/29 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
jQuery实现定时读取分析xml文件的方法
2015/07/16 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
使用OPENLAYERS3实现点选的方法
2020/09/24 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python控制台中实现进度条功能
2015/11/10 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
对Python 语音识别框架详解
2018/12/24 Python
python实现静态服务器
2019/09/05 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
预备党员入党感想
2015/08/10 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js