zoukankan      html  css  js  c++  java
  • opencv图片拼接报错cv::Stitcher::ERR_NEED_MORE_IMGS (1)



    #include "opencv2/imgcodecs.hpp" #include "opencv2/highgui.hpp" #include "opencv2/stitching.hpp" #include <iostream> using namespace std; using namespace cv; bool try_use_gpu = false; bool divide_images = false; Stitcher::Mode mode = Stitcher::PANORAMA; vector<Mat> imgs; string result_name = "result.jpg"; void printUsage(char** argv); int parseCmdArgs(int argc, char** argv); int main(int argc, char* argv[]) { //int retval = parseCmdArgs(argc, argv); //if (retval) return -1; Mat img1 = imread("/hard_disk2/Receive_files/xls/mask-rcnn-test/QT/1.png"); Mat img2 = imread("/hard_disk2/Receive_files/xls/mask-rcnn-test/QT/2.png"); imgs.push_back(img1); imgs.push_back(img2); // imgs.push_back(img1); // imgs.push_back(img2); // imgs.push_back(img1); // imgs.push_back(img2); Mat pano; Ptr<Stitcher> stitcher = Stitcher::create(mode, try_use_gpu); Stitcher::Status status = stitcher->stitch(imgs, pano); if (status != Stitcher::OK) { cout << "Can't stitch images, error code = " << int(status) << endl; return -1; } imwrite(result_name, pano); waitKey(0); cout << "stitching completed successfully " << result_name << " saved!"; return 0; }

     代码如上,参考https://docs.opencv.org/trunk/d8/d19/tutorial_stitcher.html

    运行时报错cv::Stitcher::ERR_NEED_MORE_IMGS (1),后来查找原因,发现是我随便选取了两张图片进行拼接,然而这两张图片并没有重叠的部分,然后修改了两张图片之后,运行正常了。所以进行图片拼接的时候需要注意要有重叠部分才可以。

  • 相关阅读:
    洛谷P2762 太空飞行计划问题
    网络流24题 gay题报告
    洛谷P1712 区间
    洛谷P2480 古代猪文
    10.9zuoye
    面向对象类编程,计算分数
    请输入验证码优化版
    面向对象式开发程序
    直接选择排序与反转排序
    随机数产生原理
  • 原文地址:https://www.cnblogs.com/rainsoul/p/8430074.html
Copyright © 2011-2022 走看看