当前位置: 首页 > news >正文

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;
}

http://www.lryc.cn/news/409720.html

相关文章:

  • 用 apifox cli 命令行运行本地接口出现TypeError:Invalid IP address: undefined
  • PyQt6简易案例代码GUI界面小工具——实现增、删、查、改(练手正合适)
  • JavaScript快速入门指南
  • Esbuild介绍
  • UnityShaderUI编辑器扩展
  • 分布式事务——2PC 代码示例
  • vue实现简易的全局加载动画效果
  • Linux网络工具“瑞士军刀“集合
  • Sentinel隔离、降级、授权规则详解
  • C++11 列表初始化与类型声明
  • 缓存策略自定义:Laravel应用性能优化秘籍
  • python连接sqlserver,封装操作
  • 原生PHP/JS自主开发的交友内核框架婚恋交友系统V10
  • 如何在Java、Python、GO程序中使用AI人脸识别API接口
  • 在vue使用MQTT
  • DNS、网关、IP、DHCP
  • vue2 vue3 props 的处理机制
  • C++第十弹 ---- vector的介绍及使用
  • ValueError: invalid literal for int() with base 10: ‘a‘
  • [C++探索]初始化列表,static成员,友元函数,内部类,匿名对象
  • 搭建自己的金融数据源和量化分析平台(二):读取上交所股票列表
  • Kafka知识总结(分区机制+压缩机制+拦截器+副本机制)
  • WordPress原创插件:搜索引擎抓取首图seo图片
  • Android Framework 之AMS
  • AnConda环境配置学习笔记
  • 架构师的36项修炼 学习笔记
  • Python | “IndexError: tuple index out of range” 【已解决】
  • Linux上部署easySpider及基本使用
  • Qt Designer,仿作一个ui界面的练习(二):部件内容的填充
  • LIS2DH12传感器底电流100ua处理