📅  最后修改于: 2023-12-03 15:07:28.047000             🧑  作者: Mango
OpenCV是一个强大的计算机视觉库,可以使用它来进行图像处理和分析。本文将介绍如何使用OpenCV C++来合并两张图像。具体来说,我们将学习以下内容:
首先我们需要读入两张要合并的图像。我们可以使用OpenCV的imread函数来读入图像,imread函数可以读入多种格式的图像文件。
cv::Mat image1 = cv::imread("image1.jpg");
cv::Mat image2 = cv::imread("image2.jpg");
在合并两张图像之前,我们需要调整它们的大小,使它们具有相同的尺寸。可以使用OpenCV的resize函数来调整图像大小。
cv::resize(image1, image1, cv::Size(640, 480));
cv::resize(image2, image2, cv::Size(640, 480));
在这个例子中,我们将两张图像的大小都调整为640x480。
现在,我们可以将两张图像合并在一起。可以使用OpenCV的hconcat函数将它们水平合并在一起。如果要垂直合并它们,可以使用vconcat函数。
cv::Mat mergedImage;
cv::hconcat(image1, image2, mergedImage);
在这个例子中,我们将两张图像水平合并在一起,结果存储在mergedImage中。
最后,我们可以使用imwrite函数将合并后的图像保存到文件中。
cv::imwrite("mergedImage.jpg", mergedImage);
在这个例子中,我们将合并后的图像保存到mergedImage.jpg文件中。
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat image1 = cv::imread("image1.jpg");
cv::Mat image2 = cv::imread("image2.jpg");
cv::resize(image1, image1, cv::Size(640, 480));
cv::resize(image2, image2, cv::Size(640, 480));
cv::Mat mergedImage;
cv::hconcat(image1, image2, mergedImage);
cv::imwrite("mergedImage.jpg", mergedImage);
return 0;
}
以上就是使用OpenCV C++合并两张图像的全部过程。