1

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

OpenCV 错误:在 cv::resize,文件 C:\Users\car4p\Downloads\opencv-master\opencv-master\modules 中断言失败 (dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0)) \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];
}
4

1 回答 1

0

sticher 类中的第二个参数是 Mat (ouputarray) 而不是向量 < Mat >

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

于 2016-04-30T08:22:46.187 回答