资源简介
SIFT特征匹配算法是目前国内外特征点匹配研究领域的热点与难点,其匹配能力较强,可以处理两幅图像之间发生平移、旋转、仿射变换情况下的匹配问题,甚至在某种程度上对任意角度拍摄的图像也具备较为稳定的特征匹配能力。
代码片段和文件信息
%*-------------------demo_ASIFT MATLAB interface -------------------------*/
%
% *************************************************************************
% NOTE: The ASIFT SOFTWARE ./demo_ASIFT IS STANDALONE AND CAN BE EXECUTED
% WITHOUT MATLAB.
% *************************************************************************
%
% Detect corresponding points in two images with the ASIFT method.
% Copyright Jean-Michel Morel Guoshen Yu 2008.
% Please report bugs and/or send comments to Guoshen Yu yu@cmap.polytechnique.fr
%
% Reference: J.M. Morel and G.Yu ASIFT: A New framework for Fully Affine Invariant Image
% Comparison SIAM Journal on Imaging Sciences vol. 2 issue 2 pp. 438-469 2009.
% Reference: ASIFT online demo (You can try ASIFT with your own images online.)
% http://www.ipol.im/pub/algo/my_affine_sift/
%
% 2010.08.17
% ---------------------------------------------------------------------------*/
function demo_ASIFT(file_img1 file_img2 imgOutVert imgOutHori matchings keys1 keys2 flag_resize)
if (nargin == 8)
if (isnumeric(flag_resize) && (flag_resize == 0))
flag_resize = 0;
else
flag_resize = 1;
end
elseif (nargin == 7)
flag_resize = 1;
else
disp(‘*******************************************************************************‘);
disp(‘*************************** ASIFT image matching ****************************‘);
disp(‘*******************************************************************************‘);
disp(‘Usage: ./demo_ASIFT imgIn1 imgIn2 imgOutVert.png imgOutHori.png‘);
disp(‘ matchings.txt keys1.txt keys2.txt [Resize option: 0/1]‘);
disp(‘- imgIn1 imgIn2: input images (in most standard formats).‘);
disp(‘- imgOutVert.png imgOutHori.png: output images (vertical/horizontal concatenated‘);
disp(‘ in PNG format.) The detected matchings are connected by write lines.‘);
disp(‘- matchings.txt: coordinates of matched points (col1 row1 col2 row2).‘);
disp(‘- keys1.txt keys2.txt: ASIFT keypoints of the two images.‘)
disp(‘- [optional 0/1]. 1: input images resize to 800x600 (default). 0: no resize.‘);
disp(‘*******************************************************************************‘);
disp(‘********************* Jean-Michel Morel Guoshen Yu 2010 ********************‘);
disp(‘*******************************************************************************‘);
assert(false);
end
imgIn1 = imread(file_img1);
imgIn2 = imread(file_img2);
% convert the image to png format
file_img1_png = ‘tmpASIFTinput1.png‘;
file_img2_png = ‘tmpASIFTinput2.png‘;
imwrite(imgIn1 file_img1_png ‘png‘);
imwrite(imgIn2 file_img2_png ‘png‘);
% get the number of processors
% Mac
if (ismac == 1)
[s w] = unix(‘sysctl -n hw.ncpu‘);
num_CPUs = str2num(w);
% set the maximum OpenMP threads to the number of processors
set_threads = sprintf(‘export OMP_NUM_THREADS=%d;‘ num_CPUs);
% ASIFT co
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 217243 2010-11-07 05:02 ASIFT算法\adam1.png
文件 175764 2010-11-07 05:02 ASIFT算法\adam2.png
文件 857600 2010-11-09 06:15 ASIFT算法\demo_ASIFT.exe
文件 4636 2013-04-03 19:01 ASIFT算法\demo_ASIFT.m
文件 3388 2011-04-30 15:35 ASIFT算法\README.txt
文件 1511 2013-05-02 16:40 ASIFT算法\test_demo_ASIFT.m
目录 0 2013-06-01 16:03 ASIFT算法
----------- --------- ---------- ----- ----
1260142 7
- 上一篇:基于直流电机的 DSP 双闭环控制系统代码
- 下一篇:grbl-0.8_src
评论
共有 条评论