我正在尝试使用 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];
}
答案 0 :(得分:0)
sticher类中的第二个参数是Mat(ouputarray)而不是向量&lt; Mat&gt;
请参阅http://docs.opencv.org/master/d2/d8d/classcv_1_1Stitcher.html#details