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的Twisted框架编写简单的网络客户端
Apr 16 Python
Python实现SMTP发送邮件详细教程
Mar 02 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
Nov 24 Python
tensorflow入门之训练简单的神经网络方法
Feb 26 Python
python将txt文件读入为np.array的方法
Oct 30 Python
Python3爬虫使用Fidder实现APP爬取示例
Nov 27 Python
搞定这套Python爬虫面试题(面试会so easy)
Apr 03 Python
python实现车牌识别的示例代码
Aug 05 Python
8段用于数据清洗Python代码(小结)
Oct 31 Python
利用pyecharts读取csv并进行数据统计可视化的实现
Apr 17 Python
Python二元算术运算常用方法解析
Sep 15 Python
python Gabor滤波器讲解
Oct 26 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
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
使用forever管理nodejs应用教程
2014/06/03 NodeJs
全面解析Bootstrap排版使用方法(标题)
2015/11/30 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
详解Angular的8个主要构造块
2017/06/20 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
Python Socket传输文件示例
2017/01/16 Python
浅谈django model postgres的json字段编码问题
2018/01/05 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
意向书范本
2014/07/29 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
雨花台导游词
2015/02/06 职场文书
学生会工作感言
2015/08/07 职场文书