资源简介
matlab源码,计算Hu的7个不变矩,可以直接使用,适用于新手,中文注释,简单易懂。matlab源码,计算Hu的7个不变矩,可以直接使用,适用于新手,中文注释,简单易懂。
![](http://www.nz998.com/pic/65484.jpg)
代码片段和文件信息
%形状特征,Hu的七个不变矩
%The Author : LongJie Shi
%Data : 2018.9.4
function Hu = Hu_Moment(gray_image)%函数命名,输入灰度图像
format short e%有效数字5位+指数3位
image = double(gray_image);%图像矩阵运算时的数据类型是double类型
m00 = sum(sum(image));%0阶矩图像灰度值的和,第一个sum先计算列向量的和第二个sum计算总和
%1阶中心矩赋值为0
m10 = 0;
m01 = 0;
[rowcol] = size(image);%计算图像尺寸储存在[rowcol]
for i = 1:row %计算1阶中心矩的值
for j = 1:col
m10 = m10 + i*image(ij);
m01 = m01 + j*image(ij);
end
end
%归一化的1阶矩,代表图像重心
n10 = m10/m00;
n01 = m01/m00;
%2阶3阶中心矩赋初值为0
n20 = 0;n02 = 0;n11 = 0;n30 = 0;n12 = 0;n21 = 0;n03 = 0;
for i = 1:row %计算2阶3阶中心矩
for j = 1:col
n20=n20+i^2*image(ij);
n02=n02+j^2*image(ij);
n11=n11+i*j*image(ij);
n30=n30+i^3*image(ij);
n03=n03+j^3*image(ij);
n12=n12+i*j^2*image(ij);
n21=n21+i^2*j*image(ij);
end
end
%归一化的2阶3阶中心矩
n20 = n20/m00^2;
n02=n02/m00^2;
n11=n11/m00^2;
n30=n30/m00^2.5;
n03=n03/m00^2.5;
n12=n12/m00^2.5;
n21=n21/m00^2.5;
%Hu的七个不变矩由二阶三阶矩的线性组合构成
h1 = n20 + n02;
h2 = (n20-n02)^2 + 4*(n11)^2;
h3 = (n30-3*n12)^2 + (3*n21-n03)^2;
h4 = (n30+n12)^2 + (n21+n03)^2;
h5 = (n30-3*n12)*(n30+n12)*((n30+n12)^2-3*(n21+n03)^2)+(3*n21-n03)*(n21+n03)*(3*(n30+n12)^2-(n21+n03)^2);
h6 = (n20-n02)*((n30+n12)^2-(n21+n03)^2)+4*n11*(n30+n12)*(n21+n03);
h7 = (3*n21-n03)*(n30+n12)*((n30+n12)^2-3*(n21+n03)^2)+(3*n12-n30)*(n21+n03)*(3*(n30+n12)^2-(n21+n03)^2);
%利用Hu的不变矩作为特征向量
Hu = [h1 h2 h3 h4 h5 h6 h7];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1719 2018-09-04 10:06 matlab源码计算Hu的七个不变矩\Hu_Moment.m
文件 118742 2018-09-04 10:12 matlab源码计算Hu的七个不变矩\Hu_Moment.mat
- 上一篇:NURBS_MATLAB
- 下一篇:MATLAB 曲面拟合
相关资源
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
评论
共有 条评论