opencv4.6的情况下,vs2022编写两张图片拼接程序
时间: 2023-06-08 15:05:18 浏览: 87
好的,我理解了你的要求和问题。针对你的问题,我可以提供以下代码示例:
```cpp
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
// 读取两张需要拼接的图片
Mat img1 = imread("image1.jpg");
Mat img2 = imread("image2.jpg");
// 如果读取失败,则输出错误提示
if (img1.empty() || img2.empty()) {
cerr << "Failed to read image files!" << endl;
return -1;
}
// 创建一个空白图片,用于将两张图片拼接在一起
Mat dst(img1.rows, img1.cols + img2.cols, img1.type());
// 将第一张图片拷贝到目标图片的左边
img1.copyTo(dst(Rect(0, 0, img1.cols, img1.rows)));
// 将第二张图片拷贝到目标图片的右边
img2.copyTo(dst(Rect(img1.cols, 0, img2.cols, img2.rows)));
// 显示拼接后的图片
imshow("Image Stitching", dst);
waitKey(0);
return 0;
}
```
在这段代码中,我们首先通过 `imread` 函数读取需要拼接的两张图片,然后创建一个空白图片,并将它的宽度设置为两张图片的宽度之和。然后,我们将第一张图片拷贝到目标图片的左边,将第二张图片拷贝到目标图片的右边,最后显示拼接后的图片。
阅读全文