OpenCV 图形API(6)将一个矩阵(或图像)与一个标量值相加的函数addC()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

addC 函数将给定的标量值加到给定矩阵的每个元素上。该功能可以用矩阵表达式替换:
dst = src1 + c \texttt{dst} = \texttt{src1} + \texttt{c} dst=src1+c
输出矩阵的深度由 ddepth 参数决定。如果 ddepth 设置为默认值 -1,则输出矩阵将具有与输入矩阵相同的深度。 输入矩阵可以是单通道或多个通道的矩阵。输出矩阵必须与输入矩阵具有相同的尺寸和通道数。
支持的矩阵数据类型包括:CV_8UC1 CV_8UC3 CV_16UC1 CV_16SC1 CV_32FC1
注意:
函数的文本ID是 “org.opencv.core.math.addC”

函数原型

GMat cv::gapi::addC 	
(const GMat &  	src1,const GScalar &  	c,int  	ddepth = -1 
) 	

参数

  • 参数src1:第一个输入矩阵。
  • 参数c:要加到输入矩阵上的标量值。
  • 参数ddepth:输出矩阵的可选深度。

代码示例

#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp>  // 包含G-API核心功能
#include <opencv2/opencv.hpp>int main()
{// 读取输入图像cv::Mat img1 = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/stich1.png", cv::IMREAD_COLOR );if ( img1.empty() ){std::cerr << "无法加载图像,请检查路径。" << std::endl;return -1;}// 定义标量值cv::Scalar scalar_value( 90, 90, 90 );  // BGR颜色空间中的标量值// 定义G-API图中的输入和输出cv::GMat in1;auto out = cv::gapi::addC( in1, cv::GScalar( scalar_value ) );  // 使用默认深度// 创建一个计算图cv::GComputation add_graph( cv::GIn( in1 ), cv::GOut( out ) );// 输出矩阵cv::Mat result;// 编译并执行计算图add_graph.apply( img1, result, cv::GCompileArgs() );// 显示结果cv::imshow( "原图", img1 );cv::imshow( "Result", result );// 如果需要指定不同的输出深度,可以这样做:int ddepth           = CV_32F;  // 指定为32位浮点数auto out_with_ddepth = cv::gapi::addC( in1, cv::GScalar( scalar_value ), ddepth );// 创建另一个计算图cv::GComputation add_graph_with_ddepth( cv::GIn( in1 ), cv::GOut( out_with_ddepth ) );// 输出矩阵(这次是浮点型)cv::Mat result_float;// 编译并执行计算图add_graph_with_ddepth.apply( img1, result_float, cv::GCompileArgs() );// 转换回8位图像以便显示cv::Mat result_converted;result_float.convertTo( result_converted, CV_8U );cv::imshow( "Result with specified depth", result_converted );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/75698.shtml

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

相关文章

多GPU训练

写在前面 限于财力不足&#xff0c;本机上只有一个 GPU 可供使用&#xff0c;因此这部分的代码只能够稍作了解&#xff0c;能够使用的 GPU 也只有一个。 多 GPU 的数据并行&#xff1a;有几张卡&#xff0c;对一个小批量数据&#xff0c;有几张卡就分成几块&#xff0c;每个 …

0基础 | 硬件 | 电源系统 一

降压电路LDO 几乎所有LDO都是基于此拓扑结构 图 拓扑结构 LDO属于线性电源&#xff0c;通过控制开关管的导通程度实现稳压&#xff0c;输出纹波小&#xff0c;无开关噪声 线性电源&#xff0c;IoutIin&#xff0c;发热功率P电压差△U*电流I&#xff0c;转换效率Vo/Vi LDO不适…

mysql数据库中getshell的方式总结

mysql数据库中getshell的方式总结 MySQL版本大于5.0&#xff0c;MySQL 5.0版本以上会创建日志文件,我们通过修改日志文件的全局变量,就可以GetSHELL,下面这篇文章主要给大家介绍了关于mysql数据库中getshell的方式,需要的朋友可以参考下 outfile和dumpfile写shell 利用条件 …

基于Python的微博数据采集

摘要 本系统通过逆向工程微博移动端API接口,实现了对热门板块微博内容及用户评论的自动化采集。系统采用Requests+多线程架构,支持递归分页采集和动态请求头模拟,每小时可处理3000+条数据记录。关键技术特征包括:1)基于max_id的评论分页递归算法 2)HTML标签清洗正则表达…

WiFi加密协议

目录 1. 认证(Authentication)‌ ‌1.1 开放系统认证(Open System Authentication)‌ 1.2 共享密钥认证(Shared Key Authentication)‌ ‌1.3 802.1X/EAP认证(企业级认证)‌ ‌2. 关联(Association)‌ ‌3. 加密协议(Security Handshake)‌ ‌整体流程总结‌…

MySQL篇(六)MySQL 分库分表:应对数据增长挑战的有效策略

MySQL篇&#xff08;六&#xff09;MySQL 分库分表&#xff1a;应对数据增长挑战的有效策略 MySQL篇&#xff08;六&#xff09;MySQL 分库分表&#xff1a;应对数据增长挑战的有效策略一、引言二、为什么需要分库分表2.1 性能瓶颈2.2 存储瓶颈2.3 高并发压力 三、分库分表的方…

极限编程(XP)简介及其价值观与最佳实践

目录 一、什么是极限编程&#xff08;XP&#xff09;二、极限编程的核心价值观1. 沟通2. 简单3. 反馈4. 勇气 三、极限编程的12个最佳实践1. 结对编程2. 40小时工作制3. 简单设计4. 代码规范5. 测试驱动开发&#xff08;TDD&#xff09;6. 系统隐喻7. 持续集成8. 重构9. 客户在…

Java进阶-day06:反射、注解与动态代理深度解析

目录 一、反射机制&#xff1a;Java的自我认知能力 1.1 认识反射 1.2 获取Class对象 1.3 获取类的成分 二、注解&#xff1a;Java的元数据机制 2.1 注解概述 2.2 元注解 2.3 注解解析 2.4 注解的实际应用 三、动态代理&#xff1a;灵活的间接访问机制 3.1 为什么需要…

Nacos注册中心AP模式核心源码分析(集群模式)

文章目录 概述一、客户端新注册实例信息在集群间同步二、服务端集群节点信息在集群间同步2.1、DistroMapper2.2、ProtocolManager2.3、ServerListManager2.4、RaftPeerSet 三、客户端实例状态信息在集群间同步四、服务端新节点上线同步集群数据 概述 在Nacos集群模式下&#xf…

vscode和cursor对ubuntu22.04的remote ssh和X-Windows的无密码登录

这里写自定义目录标题 写在前面需求的描述问题的引出 昨天已使能自动登录上午我的改变UBUNTU 22.04关闭密码规则一&#xff1a;修改 /etc/pam.d/common-password 文件二&#xff1a;修改 /etc/security/pwquality.conf 文件方法三&#xff1a;禁用 pam_pwquality.so 模块 vscod…

论文阅读:基于增强通用深度图像水印的混合篡改定位技术 OmniGuard

一、论文信息 论文名称:OmniGuard: Hybrid Manipulation Localization via Augmented Versatile Deep Image Watermarking作者团队:北京大学发表会议:CVPR2025论文链接:https://arxiv.org/pdf/2412.01615二、动机与贡献 动机: 随着生成式 AI 的快速发展,其在图像编辑领…

一周学会Pandas2 Python数据处理与分析-NumPy数组创建

锋哥原创的Pandas2 Python数据处理与分析 视频教程&#xff1a; 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili NumPy数组创建最常用的方式是直接创建&#xff0c; numpy 可以直接创建或者将 python的其他元素转为 array 对象。 下…

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具

【全球首发】DeepSeek谷歌版1.1.5 - 免费GPT-4级别AI工具 资源简介 DeepSeek谷歌版1.1.5是目前全球领先的免费AI助手&#xff0c;性能超越国内主流AI产品&#xff0c;提供类似GPT-4的智能体验。 版本信息 最新版本&#xff1a;1.1.5&#xff08;2024最新版&#xff09;应用…

小程序29-事件穿参-mark 自定义数据

小程序进行事件传参的时候&#xff0c;除了使用 data-*属性 传递参数外&#xff0c;还可以 使用 mark 标记传递参数 mark 是一种自定义属性&#xff0c;可以在组件上添加&#xff0c;用于来识别具体触发事件的 target 节点。同时 mark 还可以用于承载一些自定义数据 在组件上使…

高级:分布式系统面试题精讲

一、引言 分布式系统在现代软件开发中占据重要地位&#xff0c;其设计和实现需要考虑多个关键因素。面试官通过相关问题&#xff0c;考察候选人对分布式系统核心概念的理解、实际应用能力以及在复杂场景下的问题解决能力。本文将深入分析分布式系统的CAP定理、一致性协议、分布…

【Android Studio 下载 Gradle 失败】

路虽远行则将至&#xff0c;事虽难做则必成 一、事故现场 下载Gradle下载不下来&#xff0c;没有Gradle就无法把项目编译为Android应用。 二、问题分析 观察发现下载时长三分钟&#xff0c;进度条半天没动&#xff0c;说明这个是国外的东西&#xff0c;被墙住了&#xff0c;需…

系统思考:思考的快与慢

在做重大决策之前&#xff0c;什么原因一定要补充碳水化合物&#xff1f;人类的大脑其实有两套运作模式&#xff1a;系统1&#xff1a;自动驾驶模式&#xff0c;依赖直觉&#xff0c;反应快但易出错&#xff1b;系统2&#xff1a;手动驾驶模式&#xff0c;理性严谨&#xff0c;…

从情感分析到朴素贝叶斯法:基于朴素贝叶斯的情感分析如何让DeepSeek赋能你的工作?

文章目录 1.概率论基础1.1 单事件概率1.2 多事件概率1.3 条件概率1.3.1 多事件概率与条件概率的区别 1.4 贝叶斯定理传统思维误区贝叶斯定理计算 2. 朴素贝叶斯法2.1 基本概念2.2 模型2.3 学习策略2.4 优化算法2.5 优化技巧拉普拉斯平滑对数似然 3. 情感分析实战3.1 流程3.2 模…

获取inode的完整路径包含挂载的路径

一、背景 在之前的博客 缺页异常导致的iowait打印出相关文件的绝对路径-CSDN博客 里的 2.2.3 一节和 关于inode&#xff0c;dentry结合软链接及硬链接的实验-CSDN博客 里&#xff0c;我们讲到了在内核里通过inode获取inode对应的绝对路径的方法。对于根目录下的文件而言&#…

【51单片机】2-6【I/O口】【电动车简易防盗报警器实现】

1.硬件 51最小系统继电器模块震动传感器模块433M无线收发模块 2.软件 #include "reg52.h" #include<intrins.h> #define J_ON 1 #define J_OFF 0sbit switcher P1^0;//继电器 sbit D0_ON P1^1;//433M无线收发模块 sbit D1_OFF P1^2; sbit vibrate …