opencv中stitch图像融合

打印 上一主题 下一主题

主题 962|帖子 962|积分 2886

 openv版本: opencv249 
 vs :2010
 qt : 4.85
  1. #include "quanjing.h"
  2. #include <iostream>
  3. #include <opencv2/core/core.hpp>
  4. #include <opencv2/highgui/highgui.hpp>
  5. #include <opencv2/imgproc/imgproc.hpp>
  6. #include <opencv2/stitching/stitcher.hpp>
  7. using namespace std;
  8. using namespace cv;
  9. bool try_use_gpu = false;
  10. vector<Mat> imgs;
  11. string result_name = "dst1.jpg";
  12. #include <QApplication>
  13. #include  <QMessageBox>
  14. using namespace cv;
  15. quanjing::quanjing(QWidget *parent, Qt::WFlags flags)
  16.         : QMainWindow(parent, flags)
  17. {
  18.         ui.setupUi(this);
  19.         connect(ui.pushButton,SIGNAL(clicked()),this,SLOT(btnClick()));       
  20. }
  21. void quanjing::btnClick(){
  22.         cv::Mat image2 = cv::imread("C:/Users/TR/Desktop/quan/2.jpg");
  23.         cv::Mat image3 = cv::imread("C:/Users/TR/Desktop/quan/3.jpg");
  24.         cv::Mat image4 = cv::imread("C:/Users/TR/Desktop/quan/4.jpg");
  25.         cv::Mat image5 = cv::imread("C:/Users/TR/Desktop/quan/5.jpg");
  26.         imgs.push_back(image2);
  27.         imgs.push_back(image3);
  28.         imgs.push_back(image4);
  29.         imgs.push_back(image5);
  30.         Stitcher   stitcher = Stitcher::createDefault(true);
  31.         // 使用stitch函数进行拼接
  32.         Mat pano;
  33.         Stitcher::Status status = stitcher.stitch(imgs, pano);
  34.        
  35.         if (status != Stitcher::OK)
  36.         {
  37.                 cout << "Can't stitch images, error code = " << int(status) << endl;
  38.                  QMessageBox::warning(nullptr, "jing gao", QString("Can't stitch images, error code : %1").arg( int(status) ));
  39.         }
  40.         else
  41.         {
  42.                 imwrite("D:/Test/QT/qt04/quanjing/quanjing/555.jpg", pano);
  43.                 Mat pano2 = pano.clone();
  44.                 // 显示源图像,和结果图像
  45.                 imshow("全景图像1", pano2);
  46.         }
  47. }
  48. quanjing::~quanjing()
  49. {
  50. }
复制代码

准备了四张图像



2 、3 、4三张 进行stitch,结果如下:


3 、4、5三张进行stitch,结果如下:


2、3、4、5 四张一起进行stitch,结果如下:



颠末测试,偶然间图像序列中某两个一连的出现stitch,错误图像以后的图像就不会再融合了


感觉  opencv的stitch进行图像融合,不太稳定,偶然间说不出来为什么两个图像不能融合,肉眼都可以判定出是可以融合的


FR:徐海涛(hunkxu)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表