OpenCV Stitcher抛出调整大小错误

时间:2016-04-29 18:04:11

标签: c++ opencv image-stitching opencv-stitching

我正在尝试使用 OpenCV拼接器编写代码来拼接一组图像,并不断出现此错误。

  

OpenCV错误:断言失败(dsize.area()> 0 ||(inv_scale_x> 0   &安培;&安培; inv_scale_y> 0))在cv :: resize,file中   C:\ Users \用户car4p \下载\ OpenCV的主\ OpenCV的主\模块\ imgproc \ SRC \ imgwarp.cpp,   第3230行

我已经四处搜索,发现这不是读取图像的问题,图像都显示正常并且有超过0列。我相信输出有错误,但无法弄清楚如何解决它。如果有人之前处理过这个问题或者知道解决方案,那将非常感激。

我正在用C ++编写,使用OpenCV 3.1和Visual Studio 2015。

阅读图像代码

imgs.push_back(imread("testerer1.jpg"));
imgs.push_back(imread("testerer2.jpg"));
imgs.push_back(imread("testerer3.jpg"));    
imgs.push_back(imread("testerer4.jpg"));

拼接图像的代码

Mat stitchImages(vector<Mat> imgs) {
    Stitcher stitchs;
    vector<Mat> stitchedImg;

    stitchs.createDefault(false);

    Stitcher::Status status = stitchs.stitch(imgs, stitchedImg);

    return stitchedImg[0];
}

1 个答案:

答案 0 :(得分:0)

sticher类中的第二个参数是Mat(ouputarray)而不是向量&lt; Mat&gt;

请参阅http://docs.opencv.org/master/d2/d8d/classcv_1_1Stitcher.html#details