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;
}