我正在尝试使用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];
}