首页 > 解决方案 > 在 vs 中使用 opencv 拼接器类时出现断言(-215)错误

问题描述

已经问了很多这样的问题,我已经通过了大多数问题,但仍然无法解决我的问题,但这是错误代码:error (-215:Assertion failed) size.width>0 &&函数“cv::imshow”中的 size.height>0

 bool try_use_gpu = false;
        vector<Mat>imgs; 
        Mat image, pano;
        image = imread("moscow1.jpg");
        if (image.empty())
        {

            cout << "check your input image" << endl;
            return EXIT_FAILURE;
        }
        imgs.push_back(imread("moscow1.jpg"));
        image = imread("moscow2.jpg");
        if (image.empty())
        {
            cout << "check your input image" << endl;
            return EXIT_FAILURE;
        }
        imgs.push_back(imread("moscow2.jpg"));

        Stitcher::Mode mode = Stitcher::PANORAMA;
        Ptr<Stitcher> stitcher = Stitcher::create(mode, try_use_gpu);
        //Stitcher stitcher = Stitcher::createDefault(try_use_gpu);
        Stitcher::Status status = stitcher->stitch(imgs, pano);

        if (status != Stitcher::OK)
        {
            cout << "Panorama unsuccessful" << endl;
        }

            imshow("panorama", pano);
            waitKey(0);
            imwrite("panoramaimg.jpg", pano);
}

我也在想如果我没有很好地实现stitcher类,任何帮助都可以......

标签: opencv

解决方案


您要拼接的图像必须有共同点,对于要使用的程序,如果图像没有共同点,则使用两个不同的图像是行不通的。


推荐阅读