資源簡介
簡單的利用Harris算子實現(xiàn)分塊提取特征點
代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%???Harris角點提取算法??????????????????????????????????????????%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?filename=‘G.tif‘;
%?X是最后的結(jié)果影像?
%[posrposc]是興趣點的坐標(biāo)
%blocksize是我們要選擇的分塊大小
%filename是我們讀取的原始影像%
function?[Xposrposc]=Harris(blocksizefilename)
%?clear;
?X=?imread(filename);?????%?讀取圖像
Info=imfinfo(filename);
filesize=length(X)/blocksize;
%?if?Info.BitDepth>8
%?????f=rgb2gray(X);
%?f=X;
%end
cnt1?=?0;
for?I=1:filesize
????for?J=1:filesize
????????f=X(blocksize*(I-1)+1:I*blocksizeblocksize*(J-1)+1:J*blocksize);
%
%?fx?=?[5?0?-5;8?0?-8;5?0?-5];??????????%?高斯函數(shù)一階微分,x方向(用于改進(jìn)的Harris角點提取算法)
ori_im=double(f)/255;???????????????????%unit8轉(zhuǎn)化為64為雙精度double64
fx?=?[-2?-1?0?1?2];?????????????????????%?x方向梯度算子(用于Harris角點提取算法)
Ix?=?filter2(fxori_im);????????????????%?x方向濾波
%?fy?=?[5?8?5;0?0?0;-5?-8?-5];??????????%?高斯函數(shù)一階微分,y方向(用于改進(jìn)的Harris角點提取算法)
fy?=?[-2;-1;0;1;2];?????????????????????%?y方向梯度算子(用于Harris角點提取算法)
Iy?=?filter2(fyori_im);????????????????%?y方向濾波
Ix2?=?Ix.^2;
Iy2?=?Iy.^2;
Ixy?=?Ix.*Iy;
clear?Ix;
clear?Iy;
h=?fspecial(‘gaussian‘72);????????%?產(chǎn)生7*7的高斯窗函數(shù),sigma=2
Ix2?=?filter2(hIx2);
Iy2?=?filter2(hIy2);
Ixy?=?filter2(hIxy);
height?=?size(ori_im1);
wi
- 上一篇:稀疏自動編碼器的matlab實現(xiàn)
- 下一篇:matlab塊匹配算法
評論
共有 條評論