假设我有两张无人驾驶小型飞机拍摄的航拍照片(实际上我有一些航拍视频…那是很多照片)。这些图像是从同一区域,但从不同的角度和高度拍摄的。有什么办法把它们搭配起来吗?
我使用SIFT
从2张图像中获得匹配点,得到了大约250个匹配方。然后我使用RANSAC
将数字减少到大约150个匹配点。但我不知道如何将一个图像扭曲成另一个图像?
目前我在OpenCV
中使用cvWarpPerspective()
和cvWarpImage()
,但cvWarpPerspective()
只需要4对点进行图像配准。结果不是很精确。我还有超过146个点没有使用。
我该怎么办?
使用OpenCV的findHomography
函数查找同形矩阵
Mat H;
H = findHomography(homographyPoints1, homographyPoints2, CV_LMEDS);
warpPerspective(img1, oimg1, H, img1.size(), INTER_NEAREST);
扭曲这两个图像,你将得到两个输出图像。你可以用所有的150分。在homographyPoints1和homgraphypoints2(或其他向量)中推入匹配的150个关键点,并使用CV_LMEDS
。CV_RANSAC
将随机选取4 ~ 8个点,计算可能不准确的单应字