【发布时间】:2015-10-20 08:22:54
【问题描述】:
我第一次使用OpenCV,那是为了做一个简单的图像拼接......我尝试了以下简单的代码:
Mat resImage;
Mat image1 = imread(_T("D:\\Tempx\\Image1.bmp"), CV_LOAD_IMAGE_COLOR);
Mat image2 = imread(_T("D:\\Tempx\\Image2.bmp"), CV_LOAD_IMAGE_COLOR);
std::vector<cv::Mat> vImg;
vImg.push_back(image1);
vImg.push_back(image2);
Stitcher stitcher = Stitcher::createDefault(TRUE);
Stitcher::Status stat = stitcher.stitch(vImg, resImage); // <-- crash the program !!!
if(cv::Stitcher::OK != stat)
sError.Format(_T("Error while stitching the images."));
std::vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION);
compression_params.push_back(9);
imwrite(_T("D:\\Tempx\\Image3.bmp"), resImage, compression_params);
但在线:
stitcher.stitch(vImg, resImage);
程序崩溃了:
可能是一些简单的事情,可能不是......你能看看并告诉我一个提示/想法,什么?谢谢。
【问题讨论】:
-
根据文档 createDefault(bool try_use_gpu = false);我建议您使用 False 而不是 true 作为参数。 (虽然我不确定)
-
我已经尝试过了,完全一样的行为。 :(
标签: c++ opencv visual-c++ graphics mfc