欢迎来到天天文库
浏览记录
ID:50812519
大小:719.00 KB
页数:2页
时间:2020-03-14
《SUSAN角点检测算子的MATLAB实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SUSAN角点检测算子的MATLAB实现[filename,pathname,~]=uigetfile('*.jpg','选择JPG格式图片');if~ischar(filename)returnendstr=[pathnamefilename];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=
2、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))3、N(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]];endendendim4、showpair(pic,pic,'montage');holdonplot(loc(:,1)+size(pic,2),loc(:,2),'*');holdoff运行结果图如下:
3、N(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]];endendendim
4、showpair(pic,pic,'montage');holdonplot(loc(:,1)+size(pic,2),loc(:,2),'*');holdoff运行结果图如下:
此文档下载收益归作者所有