赞
踩
最近刚下了最新版的opencv4.5,急不可待的试下操作,就用了opencv自带的Stitcher类拼接下图像,结果傻眼了,程序显示Stitcher没有createDefault成员,看了好久,终于找到了解决方法。
Stitcher类程序流程:
OpenCV:4.5.0
VS:2019 C++
平台:Windows 10
#include <iostream> #include <stdio.h> #include <opencv2/stitching.hpp> #include < opencv2\opencv.hpp > #include <fstream> using namespace cv; using namespace std; int main() { vector<Mat> imgs; Mat image1,image2; image1 = imread("C://Users//**//Desktop//1.PNG"); image2 = imread("C://Users//**//Desktop//2.PNG"); resize(image1, image1, Size(600, 450), 0, 0, INTER_LINEAR);//图片是截取的,所以使用resize做了尺寸修改 resize(image2, image2, Size(600, 450), 0, 0, INTER_LINEAR); imshow("原图1", image1); imshow("原图2", image2); imgs.push_back(image1); imgs.push_back(image2); Ptr<Stitcher> stitcher = Stitcher::create();//调用create方法 Mat pano; Stitcher::Status status = stitcher->stitch(imgs, pano); // 使用stitch函数进行拼接 if (status != Stitcher::OK) { cout << "Can't stitch images, error code = " << int(status) << endl; return -1; } // 显示结果图像 imshow("全景图像", pano); waitKey(0); }
原图
结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。