单应组成,所以如果你有间单应img1
和img2
之间,img2
和img3
那么这两个单应性的组合物提供之间的单应img1
和img3
。
您的尺寸不正确,因为您正试图匹配img3
包含img1
和的拼接图像img2
。但是您不需要这样做。在每对连续的图像之间都有所有的单应性之前,请不要缝合它们。然后,您可以采用以下两种方式之一进行操作:从背面或正面进行工作。我将使用h31
来指代扭曲img3
为的坐标的单应性img1
。
从前面(伪代码):
warp img2 into coordinates of img1 with h21
warp img3 into coordinates of img1 with h31 = h32 @ h21
warp img4 into coordinates of img1 with h41 = h43 @ h31
...
stitch/blend images together
这@
是矩阵乘法运算符,它将实现我们的单应性构图(请注意,用单应性的最后一项进行除法是最安全的,以确保它们均按相同比例缩放)。
从后面(伪代码):
...
warp prev stitched img into coordinates of img3 with h43
stitch warped stitched img with img3
warp prev stitched img into coordinates of img2 with h32
stitch warped stitched img with img2
warp prev stitched img into coordinates of img1 with h21
stitch warped stitched img with img1
这个想法是,您可以从正面开始,然后将所有内容扭曲到第一个图像坐标系中,或者从背面开始,将所有内容扭曲到上一个图像并进行绣制,然后将那个已缝制的图像扭曲到先前的图像中,然后重复。我认为第一种方法可能更容易。无论哪种情况,您都必须担心单应性估计中误差的传播,因为它们会在多个组合单应性上累积。
这是将多个图像与同形异义词混合在一起的幼稚方法。更复杂的方法是使用捆绑调整,该调整考虑了所有图像的特征点。为了获得良好的融合效果,需要进行增益补偿以消除相机的增益调整和渐晕,然后进行多波段融合以防止模糊。见布朗和Lowe的开创性的论文在这里和一个光辉的榜样和免费demo软件在这里。