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.mzph.cn/diannao/49116.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sql Server缓冲池、连接池等基本知识(附Demo)

目录 前言1. 缓存池2. 连接池3. 彩蛋 前言 基本的知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&#xff09;Mysql优化高级篇&#xff08;全&#xff09;Mysql底层原理详细剖析常见面试题&#xff08;全&#xff09; 1…

Go 环境安装配置

1、下载 wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz 2、安装 sudo tar -xvf go1.21.6.linux-amd64.tar.gz -C $HOME/3、设置环境变量及代理 # 打开 ~/.bash_profile,输入&#xff1a; export PATH$PATH:$HOME/go/bin # 设置 Go 语言代理 export GOPROXYhttps://go…

AI发展下的伦理挑战

AI发展下的伦理挑战&#xff0c;应当如何应对&#xff1f; 人工智能飞速发展的同时&#xff0c;也逐渐暴露出侵犯数据隐私、制造“信息茧房”等种种伦理风险。随着AI技术在社会各个领域的广泛应用&#xff0c;关于AI伦理和隐私保护问题日趋凸显。尽管国外已出台系列法规来规范…

ls lsattr lsblk lscpu lsdiff lshw lsinitrd lsipc lslocks lslogins

ls: 描述&#xff1a;列出目录内容。用法&#xff1a;ls [选项] [文件或目录]示例&#xff1a; ls&#xff1a;列出当前目录的文件和子目录。ls -l&#xff1a;以详细列表形式显示目录内容。ls /path/to/directory&#xff1a;列出指定路径下的内容。 lsattr: 描述&#xff1a;…

【VSCode】安装 【ESP-IDF】插件及【ESP32-S3】新建工程和工程配置

一、搭建基础工程 二、基础工程的文件架构解析 三、调试相关工具介绍 1、串口下载2、JTAG 下载与调试 四、工程的文件架构解析 五、基础工程配置 一、搭建基础工程 在 VS Code 中新建 ESP-IDF 基础工程的步骤如下&#xff1a; 1、启动 VS Code 并打开命令面板 按下“Ctrl…

逆向案例二十八——某高考志愿网异步请求头参数加密,以及webpack

网址&#xff1a;aHR0cDovL3d3dy54aW5nYW9rYW90Yi5jb20vY29sbGVnZXMvc2VhcmNo 抓包分析&#xff0c;发现请求头有参数u-sign是加密的&#xff0c;载荷没有进行加密&#xff0c;直接跟栈分析。 进入第二个栈&#xff0c;打上断点&#xff0c;分析有没有加密位置。 可以看到参数…

Chapter17 表面着色器——Shader入门精要学习

Chapter17 表面着色器 一、编译指令1.表面函数2.光照函数3.其他可选参数 二、两个结构体1.Input 结构体&#xff1a;数据来源2.SurfaceOutput 三、Unity背后做了什么四、表面着色器的缺点 一、编译指令 作用&#xff1a;指明该表面着色器的 表面函数 和 光照函数&#xff0c;并…

【React】深入探索React:表单控制、组件通信、副作用管理、自定义Hook

一、React表单控制 表单控制是React应用中常见的需求&#xff0c;React Hooks提供了两种方式来实现&#xff1a;受控组件和非受控组件。 1.1 受控组件 受控组件是将表单输入的值保存在组件的状态中。这样&#xff0c;表单数据就完全由React控制。 import React, { useState…

【系统架构设计 每日一问】三 Redis支持事务么,Redis的事务如何保证

实际上&#xff0c;关于Redis事务的说法“Redis 的事务只能保证隔离性和一致性&#xff08;I 和 C&#xff09;&#xff0c;无法保证原子性和持久性&#xff08;A 和 D&#xff09;”并不完全准确。下面我将分别解释Redis事务的四个特性&#xff1a;原子性&#xff08;Atomicit…

探索Mojo模型的超参数优化:自定义搜索策略全解析

探索Mojo模型的超参数优化&#xff1a;自定义搜索策略全解析 在机器学习领域&#xff0c;超参数的调整是提高模型性能的关键步骤。Mojo模型&#xff0c;作为一种高效的模型部署方式&#xff0c;其超参数的搜索同样至关重要。本文将深入探讨如何在Mojo模型中实现自定义的超参数…

5.波士顿房价预测(KNN,决策树,线性回归)

波士顿房价预测 1. 机器学习中的任务分类2. 波士顿房价预测2.1 分析数据2.2 比较 MAE 和 MSE2.2 代码 1. 机器学习中的任务分类 有监督学习&#xff08;supervised&#xff09;&#xff1a;有特征也有标签 分类问题 classification预测离散量 回归问题 regression预测连续量 …

DPDK收包流程和Linux内核收包流程对比

DPDK 网卡收包流程-腾讯云开发者社区-腾讯云NIC 在接收到数据包之后&#xff0c;首先需要将数据同步到内核中&#xff0c;这中间的桥梁是 rx ring buffer。它是由 NIC 和驱动程序共享的一片区域&#xff0c;事实上&#xff0c;rx ring buffer 存储的并不是实际的 packet 数据&a…

【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(上)

【Gin】精准应用&#xff1a;Gin框架中工厂模式的现代软件开发策略与实施技巧(上) 大家好 我是寸铁&#x1f44a; 【Gin】精准应用&#xff1a;Gin框架中工厂模式的现代软件开发策略与实施技巧(上)✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 本次文章分为上下两部分&…

Golang使用docker sdk管理docker

包括列出容器、创建容器、删除容器、进入容器、构建镜像等操作。 package dockertoolimport ("context""fmt""github.com/docker/docker/api/types""github.com/docker/docker/api/types/container""github.com/docker/docker/ap…

【RaspberryPi】树莓派系统UI优化

接上文&#xff0c;如何去定制一个树莓派的桌面系统&#xff0c;还是以CM4为例。 解除CM4上电USB无法使用问题 将烧录好的tf卡通过读卡器插入到电脑上&#xff0c;进入boot磁盘&#xff0c;里面有一个Config文件&#xff0c;双击用记事本打开&#xff0c;在【pi4】一栏里加入一…

从零开始手写STL库:List

从零开始手写STL库–List部分 Github链接&#xff1a;miniSTL 文章目录 从零开始手写STL库–List部分List是什么&#xff1f;List需要包含什么函数1&#xff09;基础成员函数2&#xff09;核心功能3)其他功能 基础成员函数的编写核心功能的编写其他功能编写总结 List是什么&am…

QT之QWebEngineView详细介绍

QWebEngineView 是 Qt 框架中用于实现 Web 浏览器功能的一个类&#xff0c;它基于 Chromium 引擎&#xff0c;提供了丰富的接口来支持网页的加载、显示、交互等功能。以下是对 QWebEngineView 的详细介绍&#xff1a; 一、基本概述 引入版本&#xff1a;QWebEngineView 是从 …

Android 自定义系统版本号

framework开发&#xff0c;实现自定义系统版本号。  修改位置&#xff1a;  \build\tools  buildinfo.sh #!/bin/bashecho "# begin build properties" echo "# autogenerated by buildinfo.sh"echo "ro.build.id$BUILD_ID" echo "ro.b…

服务器需要扩容,如何停止宝塔的所有服务?

教程开始 1&#xff1a;新建一个shell脚本执行以下代码 或者进面板 把以下代码丢到计划任务里的shell脚本执行 #!/bin/bash PATH/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH stop_service(){/etc/init.d/bt stopif [ -f "/etc/init…

Git添加和提交文件

常用命令 git status--查看仓库的状态 git add--添加到暂存区 可以使用通配符&#xff0c;例如:git add *.txt 也可以使用目录&#xff0c;例如:git add .git commit--提交 只提交暂存区中的内容&#xff0c;不会提交工作区中的内容git log--查看仓库提交历史记录 可以使用 --o…