帮我写一段c++ opencv的图像拼接代码
时间: 2023-10-18 22:19:07 浏览: 107
基于Opencv + ORB特征匹配算法的图像拼接c++源码(代码注释).zip
5星 · 资源好评率100%
以下是一段简单的 OpenCV 图像拼接代码,将两张图像水平方向拼接在一起:
```
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img1 = imread("image1.jpg");
Mat img2 = imread("image2.jpg");
// 获取图像宽度和高度
int width = img1.cols + img2.cols;
int height = max(img1.rows, img2.rows);
// 创建新图像
Mat new_img(height, width, CV_8UC3);
// 将两张图像拷贝到新图像中
img1.copyTo(new_img(Rect(0, 0, img1.cols, img1.rows)));
img2.copyTo(new_img(Rect(img1.cols, 0, img2.cols, img2.rows)));
// 显示拼接后的图像
imshow("Image Stitching", new_img);
waitKey(0);
return 0;
}
```
上述代码中,首先使用 `imread` 函数读取两张图像,并计算它们的宽度和高度。然后,通过创建一个新的图像 `new_img`,使用 `copyTo` 函数将两张图像拷贝到新图像的指定位置上,最后将拼接后的图像显示出来。
阅读全文