我在3D场景中有一个对象的两个图像I1和I2。图像之间的区别在于对象已移动。摄像机的位置和校准是已知的,对象上的几个3D特征点以及移动它的3D变换也是已知的。我也有那些特征点的投影。
我想对齐图像。所以看来我有两种选择:
那么第一个问题:warpPerspective是否会比warpAffine给出更好的对齐结果?
第二个问题:并非所有特征点都位于同一平面上。我还能使用warpPerspective吗?我想我为单应变换阅读时,这些点必须在同一平面上。
第三个问题:由于单应变换是3x3,这意味着我需要知道图像中每个像素的z坐标才能进行变换?
谢谢。
最佳答案
仿射变换是图像平面2D变换。它不考虑平面外转换。
单应性为平面的透视变换建模。因此可以例如用于向后倾斜的飞机。
如果您的对象是平面的,但可以进行平面外旋转,则您需要使用单应性对其进行建模。
如果您的模式不是平面模式,则单应性不是真正的模型。话虽如此,通常这是一个足够的近似值。平面外的点将被错误地扭曲。
关于opencv - 图像对齐方式warpPerspective或warpAffine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42180434/