C++ OpenCV 实现多张图片叠加 叠加文字
C++ OpenCV 实现多张图片叠加 叠加文字
在C++中使用OpenCV叠加多张图片以及添加文字的基本步骤如下:
-
加载多张图片。
-
确定叠加位置。
-
使用
cv::addWeighted
叠加图片,可以为叠加的图片添加透明度。 -
使用
cv::putText
在图片上添加文字。 -
显示或保存结果图片。
以下是一个简单的示例代码:
#include <opencv2/opencv.hpp>
int main() {
// 加载背景图片和前景图片
cv::Mat background = cv::imread("background.jpg");
cv::Mat foreground = cv::imread("foreground.png");
// 获取前景图片的ROI(感兴趣区域)
cv::Rect roi(10, 10, foreground.cols, foreground.rows); // 根据需要调整坐标和大小
// 重新调整前景图片的大小以适应背景
cv::Mat foreground_resized;
cv::resize(foreground, foreground_resized, cv::Size(roi.width, roi.height));
// 将前景图片叠加到背景图片上
cv::addWeighted(background(roi).clone(), 1.0, foreground_resized, 0.5, 0.0, background(roi));
// 在图片上添加文字
cv::putText(background, "Hello OpenCV", cv::Point(10, 50), cv::FONT_HERSHEY_SIMPLEX, 1.0, cv::Scalar(255, 255, 255), 2);
// 显示图片或保存
cv::imshow("Overlaid Image", background);
cv::waitKey(0);
cv::imwrite("overlaid_image.jpg", background);
return 0;
}
原文地址:https://blog.csdn.net/smartgps2008/article/details/140630418
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!