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

OPENCV的cvtColor和putText的讲解

一.cvtColor的用处和API讲解

1.cvtColor的作用

cvtColor是OPENCV里面颜色转换的转换函数,它的功能非常强大。能够实现RGB图像转换成灰度图、灰度图转换成RGB图像、RGB转换成HSV等等。下面我们来看看

2.cvtColorAPI

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

第一个参数:输入的图像数据

第二个参数:输出的图像数据

第三个参数:颜色转换的标识符,下面是转换的图表。图像转化可以分为11个大类,分别是RGB->BGRRGB->5X5 RGB->GRAYRGB->CIEXYZRGB->YyCrcb(YUV)RGB->HSVRGB->HLSRGB->CIELabRGB->CIELuvRGB->BayerYUV420->RGB

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

​​​​​​​二.用代码实现cvtColor的颜色转换功能

这次代码主要是转换几个常见的格式,如RGB->YUV, YUV->RGB。具体的代码思路如下:

这个代码里面我们分别读取两种图片,一种是RGB图片、另外一种是YUV灰度图像、分别用cvtColor把RGB图像转换成YUV图像、把YUV灰度图像转换成RGB图像、最后用imwrite保存两种图片。

三.putText的用处和API讲解

1. putText的用法和作用

putText是OPENCV中常见的功能,他主要的功能是在Mat矩阵里面显示显示文字,像下图

从上图可以看出来putText是通过坐标(X,Y)在矩阵显示文字

2. putText的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_SCRIPT_SIMPLEX,

orFONT_HERSHEY_SCRIPT_COMPLEX,

以上所有类型都可以配合 FONT_HERSHEY_ITALIC使用,产生斜体效果

第五个参数:fontScale字体的大小

第六个参数:color是颜色标量,字体的显示颜色

第七个参数:thickness是字体的粗细程度,默认为1

第八个参数:lineType线性,默认是LINE_8,具体的几个如下:

第九个参数:bottomLeftOrigin图像数据原点在左下角, Otherwise(默认false)图像数据中原点的左上角。默认bottomLeftOrigin = false

http://www.xdnf.cn/news/12909.html

相关文章:

  • 年度峰会上,抖音依靠人工智能和搜索功能吸引广告主
  • 2025最全TS手写题之partial/Omit/Pick/Exclude/Readonly/Required
  • CSS | transition 和 transform的用处和区别
  • 计算机视觉一些定义解析
  • C# winform教程(二)----checkbox
  • 深度解析:etcd 在 Milvus 向量数据库中的关键作用
  • AWSLambda之设置时区
  • Visual Studio Code 扩展
  • Python自动化机器学习平台库之mindsdb使用详解
  • goreplay
  • 分类预测 | Matlab基于AOA-VMD-BiLSTM故障诊断分类预测
  • 路灯电费高还管理难?智慧照明系统让城市用电下降40%
  • python可视化:俄乌战争时间线关键节点与深层原因
  • Html实现图片上传/裁剪/马赛克/压缩/旋转/缩放
  • OpenHarmony标准系统-HDF框架之I2C驱动开发
  • 关于我对各开发语言的看法与接下来的文章内容
  • Java 系统上线全流程指南:从开发到部署、监控与高可用架构
  • 【OpenCV】相机标定之利用棋盘格信息标定
  • 嵌入式学习--江协stm32day7
  • 莫兰迪高级灰总结计划简约商务通用PPT模版
  • 【Gateway断言(predicates)设置】
  • LeetCode 0386.字典序排数:细心总结条件
  • STM32标准库-ADC数模转换器
  • 机器学习与深度学习16-概率论和统计学01
  • 神经网络-Day49
  • 实现p2p的webrtc-srs版本
  • 操作系统的概念,功能和目标
  • 鸿蒙 Stege模型 多模块应用
  • HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
  • 【C++】IO库 IO流