求不变矩matlab,求HU不变矩七个参数
本帖最后由 三棵树731953873 于 2014-2-10 10:00 编辑
主程序:
RGB = imread('D:\2.jpg');
figure,imshow(RGB);
I = rgb2gray(RGB);
threshold = graythresh(I);bw = im2bw(I,threshold);
image=double(bw);[invariancematrix]=invariance(image,100,45)
调用程序:function [invariancematrix]=invariance(image,size_order,rotate)%image: 输入图形
%%size_order: 图形的放大倍率
%%rotate: 图形旋转的角度
%%invariancematrix: 计算出的不变矩%
X=image;
[F_x F_y]=size(X);
F=IMRESIZE(X,[fix(F_x*size_order) fix(F_y*size_order)]); %改变图像大小
F=imrotate(F,rotate); %改变图像角度
[F_x F_y]=size(F);
%求x的平均值%
F_xsum=sum(F,2);
temp=1:F_x;
temp=temp';
mean_temp=temp.*F_xsum;mean_x=sum(mean_temp)/sum(sum(F));
%求y的平均值%
F_ysum=sum(F,1);
temp=1:F_y;
mean_temp=temp.*F_ysum;
mean_y=sum(mean_temp)/sum(sum(F));
%求各阶矩%
for p=0:3
for q=0:3 r(p+1,q+1)=(p+q)/2+1;
x=1:F_x;
x=x-mean_x;
x=x.^p;
y=1:F_y;
y=y-mean_y;
y=y.^q;
u_temp=x'*y;
u(p+1,q+1)=sum(sum(u_temp.*F));
end
end
%标准中心矩%
n=u./u(1,1).^r;
%七个不变矩%
invariancematrix(1,1)=log10(abs(n(3,1)+n(1,3)));
invariancematrix(1,2)=log10(abs((n(3,1)-n(1,3)).^2+4*n(2,2).^2));
invariancematrix(1,3)=log10(abs((n(4,1)-3*n(2,3)).^2+(3*n(3,2)-n(1,4)).^2));
invariancematrix(1,4)=log10(abs((n(4,1)+n(2,3)).^2+(n(3,2)+n(1,4)).^2));
invariancematrix(1,5)=log10(abs((n(4,1)-3*n(2,3))*(n(4,1)+n(2,3))*((n(4,1)-n(2,3)).^2-3*(n(3,2)+n(1,4)).^2)+(3*n(3,2)-n(1,4))*(n(3,2)+n(1,4))*((3*n(4,1)+n(2,3)).^2-(n(3,2)+n(1,4)).^2)));
invariancematrix(1,6)=log10(abs((n(3,1)-n(1,3))*((n(4,1)+n(2,3)).^2-(n(3,2)+n(1,4)).^2)+4*n(2,2)*(n(4,1)+n(2,3))*(n(3,2)+n(1,4))));
invariancematrix(1,7)=log10(abs((3*n(3,2)-n(1,4))*(n(4,1)+n(2,3))*((n(4,1)+n(2,3)).^2-3*(n(3,2)+n(1,4)).^2)+(3*n(2,3)-n(4,1))*(n(3,2)+n(1,4))*((3*n(4,1)+n(2,3)).^2-(n(3,2)+n(1,4)).^2)));
总是出来这个Undefined function 'invariance' for input arguments of type
'double'.
求不变矩matlab,求HU不变矩七个参数相关推荐
- matlab求微分方程精确解,matlab求微分方程精确解及近似解.ppt
matlab求微分方程精确解及近似解.ppt 还剩 24页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 求微分方程的解q 自牛顿发明微积分以来,微分方 ...
- matlab 求曲面体积,matlab求两曲面之间的体积
MATLAB求曲面相交所成空间曲线的图形 放在你程序后也可,单独运行也行:t=-0.1:0.1:2*pi;x=2*cos(t);%交线参数方程z=2*sin(t);y1=sqrt(5)*ones(si ...
- matlab 求留数,用matlab求留数
<用matlab求留数>由会员分享,可在线阅读,更多相关<用matlab求留数(3页珍藏版)>请在金锄头文库上搜索. 1.收稿日期: 2006) 05- 29作者简介: 贾新民 ...
- matlab里面求线性方程组,利用matlab求线性方程组.doc
利用matlab求线性方程组.doc MATLAB语言课成论文利用MATLAB求线性方程组姓名郭亚兰学号12010245331专业通信工程班级2010级通信工程一班指导老师汤全武学院物电学院完成日期2 ...
- matlab数组求一阶导数,用matlab求符号函数数组或函数矩阵的导数实例教程
用matlab求符号函数数组或函数矩阵的导数实例教程 在符号矩阵中,矩阵的每个元素都可以存放符号函数,这是对符号函数数组的求到运算是对数组元素逐个进行的.接下来就以实例向大家介绍一下用matlab对符 ...
- matlab能不能求不定积分,用MATLAB求定积分
一.符号积分 符号积分由函数int来实现.该函数的一般调用格式为: int(s):没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求不定积分: int(s, ...
- matlab 求互质,Matlab求三个数的互质的整数比(最简比)
属于我写的<Matlab材料科学与基础--作出特定晶面指数在简单体心立方中所表示的面>的副产品...点击打开链接 纯小数和纯整数的情况都比较好做,并且两者可以互相转化 我讨论一下小数和整数 ...
- Hu不变矩原理及opencv实现
http://blog.csdn.net/qq_26898461/article/details/47123405 几何矩是由Hu(Visual pattern recognition by mome ...
- 20轮廓-hu不变矩的测试程序
20轮廓-hu不变矩的测试程序 程序对使用轮廓的hu矩进行测试: #include <cv.h> #include <cxcore.h> #include <highgu ...
- Hu不变矩+BP神经网络,实现对图像的分类(pytorch实现)
文章目录 1.网络模型 2.数据集制作 3.模型训练.保存.加载和使用 1.网络模型 方案,如图所示. 先对图片,用hu矩进行特征提取,每个图片产生7个特征值.这7个特征值作为数据,再加上一个标签值. ...
最新文章
- 饿了么外卖商家版电脑版_为什么有些美团、饿了么外卖商家生意那么好,单子也不少,但是却倒闭了?...
- aliddns ipv6_群晖使用阿里云DDNS(ipv4和ipv6)
- 新版本springboot整合@transactional注解
- asp.net treeview 控件父子节点级联选中
- C语言形参跟实参详解
- Mac实用技巧:怎样使用终端在macOS Big Sur Finder中锁定文件!
- 关于性格内向者的10个误解,献给奋战在一线的程序员
- CreateThread _beginThread _begintheadex AfxBeginThead思考
- paip.软件开发之COOKIE调试
- 【Python】用pip安装python库下载超时的解决办法
- 模拟电子线路复习笔记( 六) —— 集成运算放大器原理及其运用
- 电流探头的主要指标及应用场合
- c语言英文的读法将时间读出来,c怎么读(英文c正确读音)
- 水果电商网站开发过程
- 详细解读php的命名空间(一)
- 程序员如何不加班?—— 时间管理篇
- $http请求之options
- 【BLE】蓝牙设备地址
- Autocad提示产品许可证错误无法激活的解决办法
- 攻城狮生活-4 高架桥惊魂一幕