OpenCV Stitcher выдает ошибку изменения размера

Я пытаюсь написать код, используя брошюровщик OpenCV, чтобы сшить набор изображений и продолжаю сталкиваться с этой ошибкой.

Ошибка OpenCV: утверждение не выполнено (dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0)) в cv::resize, файл C:\Users\car4p\Downloads\opencv-master\opencv-master\modules\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 ответ

Вторым параметром в классе sticher является Mat (ouputarray), а не вектор

см. http://docs.opencv.org/master/d2/d8d/classcv_1_1Stitcher.html

Другие вопросы по тегам