1 / 2
文档名称:

susan角点检测算子的matlab实现.doc

格式:doc   大小:702KB   页数:2页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

susan角点检测算子的matlab实现.doc

上传人:1017079457 2020/5/7 文件大小:702 KB

下载得到文件列表

susan角点检测算子的matlab实现.doc

相关文档

文档介绍

文档介绍:SUSAN角点检测算子的MATLAB实现[]=uigetfile('*.jpg','选择JPG格式图片');if~ischar()returnendstr=[pathname];pic=imread(str);iflength(size(pic))==3img=rgb2gray(pic);end[M,N]=size(img);timg=zeros(M+6,N+6);timg(4:end-3,4:end-3)=img;%扩展图像边缘3个像素img=timg;t=45;%阈值USAN=[];%用于存放USANfori=4:M+3forj=4:N+3tmp=img(i-3:i+3,j-3:j+3);cnt=0;%计数专用,统计圆形邻域内满足条件的像素点个数forp=1:7forq=1:7if(p-4)^2+(q-4)^2<=12%半径一般在3~4之间ifabs(img(i,j)-tmp(p,q))<t+1;endendendendUSAN=[t];endendg=max(USAN)/2;%给定的阈值fork=1:length(USAN)ifUSAN(k)<gUSAN(k)=g-USAN(k);%反向相减,使得USAN取局部最大elseUSAN(k)=0;endendimgn=reshape(USAN,M,N);%USAN向量张成二维图像imgn=fliplr(imrotate(imgn,-90));%调整图像loc=[];fori=2:M-1forj=2:N-1sq=imgn(i-1:i+1,j-1:j+1);sq=reshape(sq,1,9);sq=[sq(1:4),sq(6:9)];ifimgn(i,j)>sq%局部非极大值抑制loc=[loc;[j,i]];endendendimshowpair(pic,pic,'montage');holdonplot(loc(:,1)+size(pic,2),loc(:,2),'*');holdoff运行结果图如下: