我正在检测并匹配一对图像的特征,使用典型的检测器 - 描述符 - 匹配器组合,然后使用findHomography
生成变换矩阵。翘曲透视和针迹/重叠图像(C++)
在此之后,我想在两个图像上重叠(在第一个(imgQuery
)的第二个(imgTrain
),所以我使用使用变换矩阵翘曲第二图像:
cv::Mat imgQuery, imgTrain;
...
TRANSFORMATION_MATRIX = cv::findHomography(...)
...
cv::Mat imgTrainWarped;
cv::warpPerspective(imgTrain, imgTrainWarped, TRANSFORMATION_MATRIX, imgTrain.size());
从 我考虑两种情况: 1)其中最后一张图像的尺寸是imgQuery
的尺寸 2)最后一张图片的尺寸为imgQuery
2)一个最终图像的大小足以容纳机器人的地方h imgQuery
和imgTrainWarped
,因为它们仅部分重叠,不完全重叠。我理解这第二种情况可能会在图像周围的某处出现黑色/空白区域。
嗯...我有点困惑。我是你写的代码,但是我得到了这个:http://j.mp/warp001。 (在这里可以看到两个匹配的图像:http://j.mp/warp002)。你怎么看? – MRHOUJOU
你可以'cv :: imwrite'' imgTrainWarped'和'imgQuery'翘曲后请将它们分享给我? – Micka
包装后:imgQuery是http://j.mp/imgQuery,imgMaskWarped是http://j.mp/imgMaskWarped和imgTrainWarped是http://j.mp/imgTrainWarped – MRHOUJOU