function a=zernike(f,n,m)
[M,N]=size(f);
[x,y]=meshgrid(1:N,1:M);
[mx,my] = ait_centroid(f);
rmax=max(max(sqrt((x-mx).^2+(y-my).^2)));
re=0;im=0;Rmn=0;
for yi=1:1:N
for xi=1:1:M
for s=0:1:(n-sqrt(m^2))/2
Rmn=(-1)^s*(factorial(n-s)/(factorial(s)*factorial((n+sqrt(m^2))/2-s)*factorial((n-sqrt(m^2))/2-s)))*(sqrt(xi^2+yi^2)/rmax)^(n-2*s)+Rmn;
end
re=f(xi,yi)*Rmn*cos(m*atan(yi/xi))+re;
im=f(xi,yi)*Rmn*sin(m*atan(yi/xi))+im;
end
end
a=sqrt(re^2+im^2);
function [meanx,meany] = ait_centroid(pic)
[x,y,z] = size(pic); % Checking whether the picture is colored or monochromatic, if colored then converting to gray.
if(z==1)
;
else
pic = rgb2gray(pic);
end
im = pic;
[rows,cols] = size(im);
x = ones(rows,1)*[1:cols]; % Matrix with each pixel set to its x coordinate
y = [1:rows]'*ones(1,cols); % " " " " " " " y "
area = sum(sum(im));
meanx = sum(sum(double(im).*x))/area;
meany = sum(sum(double(im).*y))/area;
Zernike不变矩 MATLAB实现
5星 · 超过95%的资源 需积分: 50 111 浏览量
2010-07-20
20:29:36
上传
评论 5
收藏 2KB RAR 举报
wobuzhidaotashishui
- 粉丝: 8
- 资源: 14
最新资源
- NetOps-py通过sftp替换网络设备启动文件
- STM32单片机FPGA毕设电路原理论文报告任务驱动教学法在单片机课程教学中的应用
- STM32单片机FPGA毕设电路原理论文报告任务驱动法在单片机教学中的应用
- STM32单片机FPGA毕设电路原理论文报告人造金刚石压机智能化压力测控系统设计
- 以某列为依据匹配多项(Excel版)
- STM32单片机FPGA毕设电路原理论文报告人体短臂离心机实验台的显示控制系统
- STM32单片机FPGA毕设电路原理论文报告人工气候室监控系统的环境控制器研究
- STM32单片机FPGA毕设电路原理论文报告染整自动线张力控制系统的设计
- 数据挖掘与机器学习-实验
- 基于Linux系统Nginx的动态网站的LNMP环境源码包
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论13