自学内容网 自学内容网

C++ OpenCV 实现多张图片叠加 叠加文字

C++ OpenCV 实现多张图片叠加 叠加文字

在C++中使用OpenCV叠加多张图片以及添加文字的基本步骤如下:

  1. 加载多张图片。

  2. 确定叠加位置。

  3. 使用cv::addWeighted叠加图片,可以为叠加的图片添加透明度。

  4. 使用cv::putText在图片上添加文字。

  5. 显示或保存结果图片。

以下是一个简单的示例代码:

#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)!