注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Bioinformatics home

 
 
 

日志

 
 

zernike亚像素识别算法。  

2010-10-07 21:35:06|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 
 
function [oimg,X,Y]=BaseZernike(img)
load M;     %获取模板,7*7的
%卷积运算
Z11I=conv2(M11I,img);
Z11R=conv2(M11R,img);
Z20=conv2(M20,img);
%截掉多余部分
Z11I=Z11I(4:end-3,4:end-3);
Z11R=Z11R(4:end-3,4:end-3);
Z20=Z20(4:end-3,4:end-3);
%设置k,oimg,theta,Zz11,l等的初始矩阵,以防后来矩阵运算大小不匹配。
k=zeros(size(img,1),size(img,2));
oimg=k;
theta=k;
Zz11=k;
z11=k;
bounder=k;
l=100*ones(size(img,1),size(img,2));
%         防止分子、分母均为0而产生的NAN
a=abs(Z11R)<0.0001;
b=abs(Z11I)<0.0001;
c=a&b;Z11R(c)=1;Z11I(c)=1;
theta=atan(Z11I./Z11R);
% Zz11=sqrt(Z11R.^2+Z11I.^2);
Zz11=Z11R.*cos(theta)+Z11I.*sin(theta);
l=Z20./Zz11;  
e=abs(l)>1/3.5;
k=1.5.*Zz11./((1-l.^2).^1.5);
k(e)=0;
% a=abs(l)<0.15;
a=abs(l)<0.3;
% b=abs(k)>0.1;
b=abs(k)>max(img(:))/10;
% a,b分别为距离和边缘强度判断结果,c为之前需要去掉的NAN部分
d=a&b&~c;
oimg(d)=1;
bounder(3:end-2,3:end-2)=1;
oimg(~bounder)=0;
figure,subplot(121),imshow(img,[]),subplot(122),imshow(oimg);
  评论这张
 
阅读(702)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017