首页 文章

OpenCV非旋转图像拼接

提问于
浏览
4

我正在OpenCV中进行图像拼接,我正在拍摄来自不同位置的平面场景并尝试构图全景 . 我修改了拼接示例以满足我的需要 . openCV拼接管道的问题在于它假定了相机的纯旋转,这对我来说并非如此 . 当拍摄的照片与场景完全正交(没有相机旋转,只是平移)时,结果非常好,但是当存在相机旋转和平移时,结果都不令人满意 .

我能够计算摄像机位置之间的单应性,这可以完成,因为场景是平面的,但我真的不知道下一步是什么 . 我的想法是以这样的方式使用单应性来表示图像,相机正面面向平面并接下来应用拼接 . 问题是,我不知道特征点的真实位置 . 我该怎么做呢?还有什么我可以尝试为任意相机移动的平面场景获得更好的拼接效果吗?

1 回答

  • 0

    opencv拼接代码通过假设平移为零来工作 . 因此,如果翻译在一个范围内,它将正常工作 . 否则它将拒绝遥远的图像 . 如果要使用已翻译的图像集,则需要使用decomposehomgraphymat,它将提供非零平移和旋转 . 但是对于变形和混合,opencv仅使用相机参数的旋转 . 所以你需要为非旋转拼接设计一个全新的方法,也许你可以看看微软的光影工作 . 我不确定,但它只适用于翻译的图像 .

相关问题