700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C++(opencv)简单拼接两幅图像

C++(opencv)简单拼接两幅图像

时间:2024-05-22 23:08:01

相关推荐

C++(opencv)简单拼接两幅图像

原图像如下图所示,第一张图像的右侧与第二张图像的左侧有重合区域,通过图像拼接将两张图合成一张图。使用OpenCV的Stitcher函数实现。

完整代码如下,亲测可用。

#include < stdio.h > #include < opencv2\opencv.hpp > #include < opencv2\stitching.hpp >int main(){std::vector< cv::Mat > vImg;cv::Mat rImg;vImg.push_back(cv::imread("xiaoyuan1.bmp"));vImg.push_back(cv::imread("xiaoyuan2.bmp"));cv::Stitcher::Mode mode = cv::Stitcher::PANORAMA;cv::Ptr<cv::Stitcher> stitcher = cv::Stitcher::create(mode);unsigned long AAtime = 0, BBtime = 0; //check processing timeAAtime = cv::getTickCount(); //check processing timecv::Mat mergeImage;bool status = stitcher->stitch(vImg, mergeImage);BBtime = cv::getTickCount(); //check processing time printf("Time consuming: %.2lf sec \n", (BBtime - AAtime) / cv::getTickFrequency()); //check processing timeif (cv::Stitcher::OK == status)cv::imshow("Stitching Result", mergeImage);elseprintf("Stitching fail.");cv::waitKey(0);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。