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

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.dtcms.com/a/240066.html

相关文章:

  • 零基础设计模式——行为型模式 - 命令模式
  • Unity | AmplifyShaderEditor插件基础(第六集:平面波动shader)
  • java中word快速转pdf
  • 2.2.2 ASPICE的需求分析
  • 大话软工笔记—需求分析概述
  • Vue 3 + WebSocket 实战:公司通知实时推送功能详解
  • 测试微信模版消息推送
  • Yii2项目自动向GitLab上报Bug
  • Linux-08 ubuntu 的 chrome浏览器不能使用 搜狗 输入法,但是火狐可以
  • 【MATLAB第119期】基于MATLAB的KRR多输入多输出全局敏感性分析模型运用(无目标函数,考虑代理模型)
  • 原型模式深度解析:Java设计模式实战指南与克隆机制优化实践
  • C# dll版本冲突解决方案
  • C# 使用表达式树(Expression Tree)代替反射赋值
  • 机器学习之聚类Kmeans算法
  • MongoDB 入门指南:安装、配置与 Navicat 连接教程
  • 冒泡排序C++实现
  • Linux系统部署KES
  • MySQL中text,longtext,mediumtext区别
  • CSS设置元素的宽度根据其内容自动调整
  • 如何将数据从 iPhone 传输到 Android?
  • 网页版便签应用开发:HTML5本地存储与拖拽交互实践
  • c++默认类模板参数
  • iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享
  • 黑客利用iMessage零点击漏洞攻击iPhone用户
  • 一文读懂 Docker Compose(白话版)
  • CentOS 7 部署 Samba 使用虚拟用户笔记
  • NLP学习路线图(三十五): 情感分析
  • 8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
  • NLP学习路线图(三十六): 机器翻译
  • 蓝桥杯第十届国B 质数拆分