背景: 在上一篇文章《解决透视变换后图片信息丢失的问题》中说明了在进行图片拼接时,如何解决透视变换造成图像中某些坐标为负值的情况,主要思路是在计算好的变换矩阵H中,加上在X或Y方向上的平移,使变换后的图片像素坐标全部为正。经过这样的处理,虽然解决了上述问题,但同时也引入了另外一个问题。因为透视变换矩阵是将图2变换到图1的途径,该变换是在图1的基础上进行,图1无需做任何变化,在变换后的图中,只需将图1的leftTop(0,0)坐标与变换后的leftTop(0,0)对齐,再把整个图1放置在变换后的图2上即可。现在透视变换矩阵H中加入了平移分量,相当于在原来的基础上对变换后的图像进行了平移,因此,作为参考图像的图1也需要进行相应的平移距离。
问题:此处的图像拼接可以简单理解为img1和img2生成img3,本文主要介绍如何给img3分配合适空间的问题。在opencv中,生成一幅图片使用的函数是:cvCreateImage(CvSize size, int depth, int channels)。《cvCreateImage》这篇博客中有对该函数的详细说明,在本文中,只