用C++opencv写一个拼接图片的算法
以下是使用C++和OpenCV库实现图片拼接的代码示例:
#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
// 读取图片
Mat img1 = imread("img1.jpg");
Mat img2 = imread("img2.jpg");
// 创建拼接后的图像
Mat result(img1.rows, img1.cols + img2.cols, img1.type());
// 将img1复制到result的左半部分
Rect roi1(0, 0, img1.cols, img1.rows);
img1.copyTo(result(roi1));
// 将img2复制到result的右半部分
Rect roi2(img1.cols, 0, img2.cols, img2.rows);
img2.copyTo(result(roi2));
// 显示拼接后的图像
imshow("Result", result);
waitKey();
return 0;
}
该算法使用了OpenCV中的Mat类,它可以表示和处理图像,并提供了许多有用的函数和方法。在代码中,首先读取了两张要拼接的图片,然后创建了一个新的Mat对象用于存储拼接后的图像。接下来,将img1复制到result的左半部分,将img2复制到result的右半部分。最后,显示拼接后的图像并等待按键响应。

原文地址: http://www.cveoy.top/t/topic/l2B 著作权归作者所有。请勿转载和采集!