關於圖像拼接,opencv 庫裏已經自帶了 stitch類,可以很好的實現圖像拼接(兩張或者多張),匹配效果比很多自己寫的要好很多
附上基於stitch的圖像拼接,程序比較簡單,但是拼接速度較慢,需要7m左右
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/legacy/legacy.hpp>
#include <opencv2/stitching/stitcher.hpp>
#include <vector>
using namespace std;
using namespace cv;
//調用opencv自帶的stitcher庫拼接
void stitch(vector<Mat> imgs,Mat& resultMat)
{
bool flag = true;
Stitcher stitcher = Stitcher :: createDefault(flag);
Stitcher::Status status = stitcher.stitch(imgs, resultMat);
}
int main()
{
Mat srcImage1 = imread("E:\\my\\pic_save\\angle_y1.jpg", 1);
Mat srcImage2 = imread("E:\\my\\pic_save\\angle_x1.jpg", 1);
vector<Mat>imgs;
imgs.push_back(srcImage1);
imgs.push_back(srcImage2);
Mat resultMat;
stitch(imgs, resultMat);
imshow("resultMat1", resultMat);
waitKey(0);
return 0;
}