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

7.RV1126-OPENCV cvtColor 和 putText

一.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://V2c7fcBU.Lfsbk.cn
http://cTrAqp1j.Lfsbk.cn
http://Jd95Fmwa.Lfsbk.cn
http://66yiu1jp.Lfsbk.cn
http://HCP2cBTz.Lfsbk.cn
http://v8X7PJGS.Lfsbk.cn
http://VnjST2N4.Lfsbk.cn
http://nTOyTcI8.Lfsbk.cn
http://pDiAl6s2.Lfsbk.cn
http://TEi7ixT3.Lfsbk.cn
http://ZRyHHBPq.Lfsbk.cn
http://zsyDimL1.Lfsbk.cn
http://pz10zAIS.Lfsbk.cn
http://uEhMRu7w.Lfsbk.cn
http://YXKSA9cy.Lfsbk.cn
http://41PgyvY5.Lfsbk.cn
http://vHyXScmv.Lfsbk.cn
http://zHho9kZn.Lfsbk.cn
http://uo4HJu7c.Lfsbk.cn
http://hnDfIHkL.Lfsbk.cn
http://grA1WZ7F.Lfsbk.cn
http://zzYkhqvm.Lfsbk.cn
http://73jcniOI.Lfsbk.cn
http://rDOLS5dz.Lfsbk.cn
http://o0jwuBrQ.Lfsbk.cn
http://NBQRpPPB.Lfsbk.cn
http://NGX1ftnp.Lfsbk.cn
http://dwa7sckZ.Lfsbk.cn
http://HNWNVCfd.Lfsbk.cn
http://OUw8KK9v.Lfsbk.cn
http://www.dtcms.com/a/228171.html

相关文章:

  • React知识点梳理
  • OpenCV CUDA模块图像处理------双边滤波的GPU版本函数bilateralFilter()
  • 结构型设计模式之Decorator(装饰器)
  • 进阶配置与优化:配置 HTTPS 以确保数据安全传输
  • C#面试问题81-100
  • HttpServletResponse 对象用来做什么?
  • (10)Fiddler抓包-Fiddler如何设置捕获Firefox浏览器的Https会话
  • 群晖 NAS 如何帮助培训学校解决文件管理难题
  • django入门-orm数据库操作
  • Java面试八股--08-数据结构和算法篇
  • 如何合理设计缓存 Key的命名规范,以避免在共享 Redis 或跨服务场景下的冲突?
  • 升级:用vue canvas画一个能源监测设备和设备的关系监测图!
  • RabbitMQ 监控与调优实战指南(二)
  • JAVA获取ES连接并查询所有数据
  • RabbitMQ如何保证消息可靠性
  • Linux 安装 JDK
  • rabbitMQ初入门
  • SpringBoot 系列之集成 RabbitMQ 实现高效流量控制
  • Deepseek/cherry studio中的Latex公式复制到word中
  • LeetCode 139. 单词拆分(Word Break) - 动态规划深度解析
  • WPS word 已有多级列表序号
  • 【从0-1的HTML】第2篇:HTML标签
  • Walle-Web:打造轻量级高效的DevOps自动化部署平台
  • 【网络安全 | 信息收集】灯塔(资产收集工具)安装教程
  • 【Oracle】视图
  • DPDK与网络协议栈
  • 第十八章 EMQX日志管理
  • ORACLE 缺失 OracleDBConsoleorcl服务导致https://xxx:port/em 不能访问
  • 基于QwenAgent解锁Qwen3无思考高效模式:vLLM部署实战与Ollama模板定制
  • 基于SDN环境下的DDoS异常攻击的检测与缓解