3

我尝试使用不同的方式拼接图像,但出现以下错误...我尝试更改图像的格式或大小但没有任何反应...有什么想法吗?

错误:

错误:未知函数中的断言失败 (imgs.size() == imgs_.size()),文件......\src\opencv\modules\stitching\src\stitcher.cpp,第 128 行

我的代码:

int main( int argc, char** argv )
{


 Stitcher stitcher = Stitcher::createDefault();
 Mat image11,image22;
 Mat pano,output_frame;
 vector<Mat> imgs,currentFrames;
// Load the images
 Mat image1= imread( argv[1] );
 Mat image2= imread( argv[2] );

 printf("-- umwandlung works");

currentFrames.push_back(image1);
currentFrames.push_back(image2);

stitcher.estimateTransform( currentFrames );

stitcher.composePanorama(currentFrames, output_frame );



 waitKey(0);
 }
4

2 回答 2

1

这是因为estimateTransform() 无法拼接您提供的所有图像。您可以检查使用 Stitcher::component() 缝合了多少图像,它返回一个整数向量,大小是您的目标。因此,在您的情况下,如果拼接成功,它的大小应该是 2。

于 2017-06-23T09:59:59.127 回答
0

这个问题与这个问题类似:

使用不带估计转换的合成全景图

我刚刚在那里回答了你。

于 2016-03-16T08:34:24.370 回答