利用opencv内部stitcher库函数拼接图片
实验目的
采用opencv内部的stitcher库函数来拼接所拍摄的两张有重叠区域的照片
原理
Stitcher是OpenCV的一个类,主要包括createDefault,estimateTransform,composePanorama,stitch等成员函数。
![](https://img-blog.csdnimg.cn/20190624152946627.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQ1OTM2OQ==,size_16,color_FFFFFF,t_70)
可以看出这个过程很复杂,需要涉及到很多的算法,比如:特征点的提取、特征点匹配、图像融合等等。这些过程OpenCV都为我们封装在Stitcher类中,不在此细述。虽然用OpenCV中的Stitcher类实现了基本的拼接,但是有一个最大的问题是,运行的效率是极低的这在需要做实时拼接的时候是根本不可能使用的.
实验代码
#include <iostream>
#include <opencv2\opencv.hpp>
#include <opencv2\stitching.hpp>
using namespace cv;
using namespace std;
int main()
{
vector< Mat > srcImg;
Mat newImg;