7.RV1126-OPENCV cvtColor 和 putText

article/2025/6/7 22:00:31

一.cvtColor

1.作用

cvtColor 是 OPENCV 里面颜色转换的转换函数。能够实现 RGB 图像转换成灰度图灰度图转换成 RGB 图像RGB 转换成 HSV 等等

2.API

CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );

第一个参数:输入的图像数据
第二个参数:输出的图像数据
第三个参数:颜色转换的标识符,下面是转换的图表

第四个参数:目标图像通道数,默认为 0 

 3.代码实现:图像转换

#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/dnn.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>using namespace cv;
using namespace std;int main()
{/********************将彩色图像转换成YUV图像*****************/Mat car_image = imread("car.png");//读取彩色图片if(car_image.empty()){printf("Can not load car_image.....\n");return -1;}Mat dst;cvtColor(car_image,dst,COLOR_BGR2YUV);//将图片从BGR格式转换成YUV格式imwrite("car1.png",dst);//将转换后的图片保存/*************将彩色图像转换成HSV图像*********************** */Mat car_image1 = imread("car.png");//读取彩色图片if(car_image1.empty()){printf("Can not load car_image1.....\n");return -1;}Mat dst1;cvtColor(car_image1,dst1,COLOR_RGB2HSV);//将图片从BGR格式转换成HSV格式imwrite("car2.png",dst1);//将转换后的图片保存return 0;
}

4.效果图:RGB->YUV,RGB->HSV

 二.putText

1.作用

        主要的功能是在 Mat 矩阵里面显示显示文字,也就是在图像里增加文字,类似于在图片左上角增加时间。

2.API

CV_EXPORTS_W void putText( InputOutputArray img, const String& text, Point org,
int fontFace, double fontScale, Scalar color,int thickness = 1, int lineType = LINE_8,
bool bottomLeftOrigin = false );

第一个参数:img 需要传入的图像数据
第二个参数:text 需要显示的文字
第三个参数:org 文字在图像数据中的坐标位置
第 四 个 参 数 : fontFace 字 体 类 型 , 常 用 的 字 体 类 型 如 下 : FONT_HERSHEY_SIMPLEX, FONT_HERSHEY_PLAIN,
FONT_HERSHEY_DUPLEX,FONT_HERSHEY_COMPLEX,FONT_HERSHEY_TRIPLEX,FONT_HERSHEY_COMPLEX_SMALL,FONT_HERSHEY_S,CRIPT_SIMPLEX,orFONT_HERSHEY_SCRIPT_COMPLEX,以上所有类型都可以配合 FONT_HERSHEY_ITALIC 使用,产生斜体效果
第五个参数:fontScale 字体的大小
第六个参数:color 是颜色标量,字体的显示颜色
第七个参数:thickness 是字体的粗细程度,默认为 1
第八个参数:lineType 线性,默认是 LINE_8,具体的几个如下:
第九个参数:bottomLeftOrigin 图像数据原点在左下角, Otherwise(默认 false)图像数据中原点的左上角。默认 bottomLeftOrigin= false,可能会在指定位置上往上偏一点,但不会太多。ture,就是会往下偏一点。

3.代码实现:图片上增加文字

#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/dnn.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>using namespace cv;
using namespace std;int main()
{Mat image = imread("zjl.jpg");//读取图片if(image.empty()){printf("Can not load image.....\n");return -1;}string str = "2025-05-01 ";//要添加的字符串Point bg;bg.x = 0;//坐标的x轴是0bg.y = 400;//坐标的y轴是400int fontFace = FONT_HERSHEY_SIMPLEX;//字体类型double fontScale = 5;//字体大小Scalar color = Scalar(0, 0, 255);//字体颜色int thickness = 3;//字体粗细putText(image, str, bg, fontFace, fontScale, color, thickness);//添加文字imwrite("zjl1.jpg", image);//保存图片return 0;
}

4.效果图:


http://www.hkcw.cn/article/nQcaBJtrHf.shtml

相关文章

研发型企业如何面对源代码保密问题

在当今数字化时代&#xff0c;研发团队面临着数据安全和工作效率的双重挑战。技术成果和源代码不仅是企业的核心资产&#xff0c;更是企业竞争力的基石。然而&#xff0c;数据泄露的风险无处不在&#xff0c;从内部员工的无意失误到外部攻击者的恶意窃取&#xff0c;都可能给企…

BeeWorks:私有化即时通讯,筑牢企业信息安全防线

在数字化时代&#xff0c;即时通讯已成为企业日常运营中不可或缺的工具。然而&#xff0c;数据安全问题一直是企业使用即时通讯服务时的重要考量因素。BeeWorks即时通讯系统以其私有化部署模式&#xff0c;为企业提供了一个安全、可靠、自主可控的沟通平台。 私有化部署&#…

akka实践之应用的扩展性问题和actor模型

如何解决应用的扩展性问题 当一个应用需要处理海量并发请求时&#xff0c;传统的开发模式往往显得力不从心&#xff0c;为什么应用需要扩展性&#xff1f; 需求增长: 用户量激增&#xff0c;数据量爆炸式增长。资源限制: 服务器、带宽、存储等资源有限。复杂性增加: 代码逻辑…

Starrocks Full GC日志分析

GC日志样例&#xff1a; [2025-06-03T07:36:06.1770800] GC(227) Pause Full (G1 Evacuation Pause) [2025-06-03T07:36:06.1960800] GC(227) Phase 1: Mark live objects [2025-06-03T07:36:06.9480800] GC(227) Cleaned string and symbol table, strings: 47009 processed,…

mapbox高阶,生成并加载等时图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️Fill面图层样式1.4 ☘️symbol符号图层…

防火墙在OSI模型中的层级工作(2025)

1. 物理层&#xff08;L1&#xff09;& 数据链路层&#xff08;L2&#xff09; 传统防火墙&#xff1a;通常不处理L1/L2&#xff08;由交换机/网卡负责&#xff09;。 现代演进&#xff1a; MAC地址过滤&#xff1a;部分防火墙支持基于MAC地址的粗粒度策略&#xff08;如禁…

帝可得 - 运营管理APP

Android模拟器 本项目的App客户端部分已经由前端团队进行开发完成&#xff0c;并且以apk的方式提供出来&#xff0c;供我们测试使用&#xff0c;如果要运行apk&#xff0c;需要先安装安卓的模拟器。 可以选择国内的安卓模拟器产品&#xff0c;比如&#xff1a;网易mumu、雷电…

关于list集合排序的常见方法

目录 1、list.sort() 2、Collections.sort() 3、Stream.sorted() 4、进阶排序技巧 4.1 空值安全处理 4.2 多字段组合排序 4.3. 逆序 5、性能优化建议 5.1 并行流加速 5.2 原地排序 6、最佳实践 7、注意事项 前言 Java中对于集合的排序操作&#xff0c;分别为list.s…

自然语言处理(NLP)的系统学习路径规划

文章目录 一、基础准备阶段&#xff08;1-2个月&#xff09;1. 数学基础2. 编程基础3. 语言学基础 二、核心技术阶段&#xff08;3-4个月&#xff09;1. 经典NLP技术2. 深度学习模型3. 预训练模型入门 三、进阶实战阶段&#xff08;2-3个月&#xff09;1. 热门任务实战2. 大模型…

CSS3美化页面元素

1. 字体 <span>标签 字体样式⭐ 字体类型&#xff08;font-family&#xff09; 字体大小&#xff08;font-size&#xff09; 字体风格&#xff08;font-style&#xff09; 字体粗细&#xff08;font-weight&#xff09; 字体属性&#xff08;font&#xff09; 2. 文本 文…

便签软件哪个好用,最好用的免费便签软件介绍

在快节奏的工作和生活中&#xff0c;一款好用的便签软件能帮助我们高效记录灵感、管理待办事项&#xff0c;甚至成为个人生产力系统的核心工具。2025年&#xff0c;市面上涌现了许多优秀的免费便签软件&#xff0c;它们各具特色&#xff0c;能满足不同用户的需求。便签软件哪个…

如何轻松删除 Android 上的文件(3 种方法)

Android 手机是非常强大的设备&#xff0c;可让我们存储大量的个人数据&#xff0c;从照片和视频到应用程序和文档。然而&#xff0c;随着时间的推移&#xff0c;您的设备可能会因不再需要的文件而变得混乱。删除这些文件有助于释放空间并提高性能。在本指南中&#xff0c;我们…

鸿蒙简易版影视APP案例实战

目录 1. 案例效果 2. 资源初始化和资源文件 2.1. string.json (en_US) 2.2. string.json (zh_CN) 2.3. constants 3. 视频列表 3.1. 顶部导航 3.1.1. TobBar 组件 3.1.2. TopBar 数据源 3.2. 全部分类内容页面 3.2.1. 全部分类组件 3.2.2. 轮播图组件 3.2.3. 图片列…

对于python中“FileNotFoundError: [Errno 2] No such file or directory”的解决办法

写在前面 最近在使用 vscode 写代码 (python) 时发现使用相对路径读取文件以及写入文件时&#xff0c;想要直接在当前目录下读写一直提示没有该文件&#xff0c;需要返回根目录。并且使用 vscode 自带调试"F5"以及 Code Runner 扩展即右上角三角形都是如此。参考了许…

VS2022中配置Anaconda3环境和scikit-learn库

VS2022中配置Anaconda3环境和scikit-learn库 安装Anaconda安装scikit-learn库在VS2022中配置该环境 安装Anaconda 1.双击应用程序开始安装 2.点击Next 3.I Agree 4.Just Me 5.修改安装路径到D盘 6.没有选择自动配置环境变量&#xff0c;点击Install安装 7.安装完成 8.进…

Q:知识库-文档的搜索框逻辑是怎样的?

【回到目录】~~~~【回到问题集】 Q&#xff1a;知识库-文档的搜索框逻辑是怎样的? dify知识库的关键字检索响应速度很快,效果如上图 A&#xff1a;查看源代码&#xff0c;搜索逻辑是通过搜索框查看 document_segments.content字段满足条件的记录 , 程序逻辑参考 datasets_se…

Manus AI与多语言手写识别的创新革命:从技术突破到行业赋能

文章目录 一、Manus AI技术架构&#xff1a;从像素到语义的端到端进化1. 动态多尺度卷积网络&#xff08;Dynamic Multi-Scale CNN&#xff09;2. 跨语言注意力机制&#xff08;Cross-Lingual Attention&#xff09; 二、多语言挑战与突破&#xff1a;从数据到算法的全面创新1.…

【ISAQB大纲解读】LG 1-8:区分显性陈述和隐性假设(R1)

软件架构师&#xff1a; 应明确提出假设或先决条件&#xff0c;从而防止隐性假设 知道隐性假设可能会导致利益相关方之间的潜在误解 1. 应明确提出假设或先决条件&#xff0c;防止隐性假设 为什么重要&#xff1f; 隐性假设是架构风险的温床 例如&#xff1a;假设“所有服务都…

Dify-5:Web 前端架构

本文档提供了 Dify Web 前端架构的技术概述&#xff0c;包括核心组件、结构和关键技术。它解释了前端如何组织、组件如何通信以及国际化功能如何实现。 技术栈 Dify 的 Web 前端基于现代 JavaScript 技术栈构建&#xff1a; 框架&#xff1a;Next.js&#xff08;基于 React …

T/CCSA 663-2025《医疗科研云平台技术要求》标准解读与深度分析

参考地址:https://www.doc88.com/p-30280431175529.html 引言 随着医疗信息化建设的深入推进,医疗行业正经历从"业务驱动"向"数据驱动"的转型。在这一背景下,中国通信标准化协会(CCSA)于2025年发布了T/CCSA 663-2025《医疗科研云平台技术要求》标准,并…