%%
clc;
clear all;
[filename,pathname]=uigetfile({'*.tiff';...
'*.gif';...
'*.bmp';...
'*.png';...
'*.tif';...
'*.jpg'},...
'open the files of images');
ori_im=imread(filename);
FileInfo=imfinfo(filename);
if(strcmp('truecolor',FileInfo.ColorType)==1)
% ori_im=im2uint8(rgb2gray(ori_im));
ori_im=rgb2gray(ori_im);
end
%%
dx=[-1 0 1;-1 0 1;-1 0 1];
Ix2=filter2(dx,ori_im).^2;
Iy2=filter2(dx',ori_im).^2;
Ixy=filter2(dx,ori_im).*filter2(dx',ori_im);
h=fspecial('gaussian',[7 7],1.5);
Ix2=filter2(h,Ix2);
Iy2=filter2(h,Iy2);
Ixy=filter2(h,Ixy);
height=size(ori_im,1);
width=size(ori_im,2);
R=zeros(height,width);
R1=zeros(height,width);
Rmax=0;
for i=1:height
for j=1:width
I=[Ix2(i,j),Ixy(i,j);Ixy(i,j),Iy2(i,j)];
R(i,j)=det(I)/(trace(I));
%R(i,j)=det(I)-0.05*(trace(I)).^2;
if R(i,j)>Rmax
Rmax=R(i,j);
end
end
end
for i=2:height-1
for j=2:width-1
%if(R(i,j)>0.1*Rmax&&R(i,j)>R(i-1,j-1)&&R(i,j)>R(i-1,j)...
if(R(i,j)>10&&R(i,j)>R(i-1,j-1)&&R(i,j)>R(i-1,j)...
&&R(i,j)>R(i,j-1)&&R(i,j)>R(i+1,j)&&R(i,j)>R(i,j+1)...
&&R(i,j)>R(i-1,j+1)&&R(i,j)>R(i+1,j-1)&&R(i,j)>R(i+1,j+1))
R1(i,j)=R(i,j);
end
end
end
np1 = 250;
np2 = 500;
R2=R1;
[a,b]=sort(R2(:));
R2(b(1:end-np1))=0;
R3=R1;
[a,b]=sort(R3(:));
R3(b(1:end-np2))=0;
figure;
[posc1,posr1]=find(R2~=0);
ori_im=imread(filename);
imshow(ori_im)
hold on;
plot(posr1,posc1,'ro');
figure;
[posc2,posr2]=find(R3~=0);
ori_im=imread(filename);
imshow(ori_im)
hold on;
plot(posr2,posc2,'ro');
%%
R4=R1;
N=height*width;
x=zeros(N,1);
y=zeros(N,1);
[R5,s]=sort(R1(:),'descend');
for m=1:N
if mod(s(m),height)==0
x(m)=height;
y(m)=fix(s(m)/height);
else
x(m)=mod(s(m),height);
y(m)=fix(s(m)/height)+1;
end
end
Crobust=0.9;
M = 1500;
r=(height+width)*ones(M,1);
for i=2:M
R6 = (height+width)*ones(i-1,1);
for j=1:i-1
if (Crobust*R5(j)>R5(i))
R6(j) = abs(x(i)-x(j))+abs(y(i)-y(j));
end
end
r(i)=min(R6(:));
end
[r1,c]=sort(r(:),'descend');
figure;
ori_im=imread(filename);
imshow(ori_im)
hold on;
for i=1:np1
plot(y(c(i)),x(c(i)),'ro');
end
figure;
ori_im=imread(filename);
imshow(ori_im)
hold on;
for i=1:np2
plot(y(c(i)),x(c(i)),'ro');
end
r_1=r1(np1)
r_2=r1(np2)
%%
Harris.rar_anms_自适应 特征点_自适应的 Harris_非最大化抑制_非最大抑制
版权申诉
182 浏览量
2022-07-14
08:10:03
上传
评论
收藏 2.29MB RAR 举报
四散
- 粉丝: 49
- 资源: 1万+
最新资源
- python tkinter-08-盒子模型.ev4.rar
- Doozy UI Manager 2023
- 基于matlab实现夜间车牌识别程序(1).rar
- 基于matlab实现无线传感器网络无需测距定位算法matlab源代码 包括apit,dv-hop,amorphous在内的共7个
- 基于python的yolov5实现的旋转目标检测
- 基于matlab实现无线传感器网络 CAB定位仿真程序 这是无线传感器节点定位CAB算法的仿真程序,由matlab完成.rar
- 基于matlab实现图像处理,本程序使用背景差分法对来往车辆进行检测和跟踪.rar
- 基于matlab实现视频监控中车型识别代码,自己写的,希望和大家多多交流.rar
- springcodespringcodespringcodespringcode
- 基于matlab实现权值的MAXDEV无线传感器网络定位算法研究 MAXDEV 无线传感器 定位 算法.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈