%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
%filename ='Lena.jpg';
filename='object0024.view01.png';
X =imread(filename);
% imshow(X);
Info = imfinfo(filename); %获取图像相关信息
if (Info.BitDepth > 8)
end
%《基于特征点的图像配准与拼接技术研究》
%计算图像亮度f(x,y)在点(x,y)处的梯度-----------------------------------------------
% fx = [5 0 -5;8 0 -8;5 0-5];
ori_im = double(f) /255;
fx = [-2-1 0 12];
Ix =filter2(fx,ori_im);
% fy = [5 8 5;0 0 0;-5-8-5];
fy = [-2; -1; 0; 1;2];
Iy =filter2(fy,ori_im);
%构造自相关矩阵---------------------------------------------------------------
Ix2 = Ix .^ 2;
Iy2 = Iy .^ 2;
Ixy = Ix .* Iy;
clear Ix;
clear Iy;
h= fspecial('gaussian',[7 7],2);
Ix2 =filter2(h,Ix2);
Iy2 = filter2(h,Iy2);
Ixy = filter2(h,Ixy);
%提取特征点---------------------------------------------------------------
height = size(ori_im, 1);
width = size(ori_im, 2);
result = zeros(height,width);
R = zeros(height,width);
Rmax =0;
k = 0.06;%k为常系数,经验取值范围为0.04~0.06
for i = 1 : height
end;
%T= 0.01 * Rmax;%固定阈值,当R(i, j) >T时,则被判定为候选角点
T = 0.1 * Rmax;%固定阈值,当R(i, j)> T时,则被判定为候选角点
%在计算完各点的值后,进行局部非极大值抑制-------------------------------------
cnt = 0;
for i = 2 : height-1
end;
i = 1;
[posc, posr] = find(result == 1);
figure,imshow(ori_im);
hold on;
plot(posr, posc, 'r+');
实验结果如图所示。
联系客服