利用SIFT和RANSAC还有Homography的相关知识编写的一个简单的图片拼贴程序。
1.用SIFT算法得到很多对应点,其中一部分是错误对应点。
2.利用RANSAC方法得到鲁棒的单应矩阵:任取4对点得到单应矩阵H(图2到图1),然后将图2中的关键点用H投影到图1,检测投影得到的点与图1中准确的关键点之间的距离,若小于一个阈值则判断为内点;统计内点的个数,若大于一个阈值则判断为好的单应矩阵,用所有的内点重新计算单应矩阵,计算的方法可见课件projective-Seitz-UWCSE.ppt。重复若干次后取内点最多的单应矩阵作为最终结果。
3.将图2用H投影到图1的坐标系,将两张图片拼接到一起。
4.为了两张图片结合自然,还可以用对应点(内点)周围的颜色或亮度信息对其中一张图进行颜色或亮度调整。
包含文件:mosaicTest.m, imMosaic.m, siftMatch.m, findHomography.m, solvHomo.m, ransac1.m,一篇参考文献,sample images
1