网上很多都是OpenCV3中调用的方式,其中Stitcher::createDefault方法已经没有了,需要用指针调用create()方法,具体看代码:
int main()
{
cv::Mat image1 = cv::imread("p1.jpg", 0);
cv::Mat image2 = cv::imread("p2.jpg", 0);
if (!image1.data || !image2.data) {
perror("读取错误");
return -1;
}
vector<cv::Mat>imgs;
imgs.push_back(image1);
imgs.push_back(image2);
cv::Ptr<cv::Stitcher> stitcher = cv::Stitcher::create();
// 使用stitch函数进行拼接
cv::Mat pano;
cv::Stitcher::Status status = stitcher->stitch(imgs, pano);
if (status != cv::Stitcher::OK)
{
cout << "Can't stitch images, error code = " << int(status) << endl;
return -1;
}
cv::waitKey(0);
}