天天看点

opencv学习--图像拼接之 Stitcher

opencv 学习:关于图像拼接Stitcher

opencv作为一个强大的计算机视觉库,为我们提供了丰富的接口,其中stitcher作为用于图像拼接类,简单实用。这个类当中我们可能用到的成员函数有createDefault、estimateTransform、composePanorama、stitch。当然图像拼接需要许多算法的支持,主要包括对图像的预处理,图像识别匹配,以及图像融合。其中对图像的特征点的提取,校准等过程都很复杂。但opencv都帮我们完成了这些,留下的是简单易实现的接口。

#include <stdio.h>
#include <iostream>
#include <vector>

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/stitching/stitcher.hpp"  //stitching 影像拼接
using namespace cv;
using namespace std;

int main()

{

   IplImage* img_1 = cvLoadImage("3.jpg");
   IplImage* img_2 = cvLoadImage("4.jpg");
  
   vector<Mat> imgs;
   
   imgs.push_back(img_1);
   imgs.push_back(img_2);
    //拼接

  Mat pano;
  Stitcher stitcher = Stitcher::createDefault(false);
  Stitcher::Status status = stitcher.stitch(imgs, pano);

  imwrite("stitching image.jpg", pano);
  imshow("拼接",pano);
  waitKey(0);
  return 0;

}
           



继续阅读