opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数即是cv::putText()。

具体形式如下:

 void cv::putText(cv::Mat& img, // 待绘制的图像const string& text, // 待绘制的文字cv::Point origin, // 文本框的左下角int fontFace, // 字体 (如cv::FONT_HERSHEY_PLAIN)double fontScale, // 尺寸因子,值越大文字越大cv::Scalar color, // 线条的颜色(RGB)int thickness = 1, // 线条宽度int lineType = 8, // 线型(4邻域或8邻域,默认8邻域)bool bottomLeftOrigin = false // true='origin at lower left');

opencv支持的文字字体有以下几种:

另外,我们在实际绘制文字之前,还可以使用cv::getTextSize()接口先获取待绘制文本框的大小,以方便放置文本框。具体调用形式如下:

 cv::Size cv::getTextSize(const string& text,cv::Point origin,int fontFace,double fontScale,int thickness,int* baseLine);

下面就通过一个示例,来看看cv::getTextSize()与cv::putText()相结合的妙用:

#include <iostream>#include "opencv2/opencv.hpp"using namespace std;using namespace cv;int main( ){//创建空白图用于绘制文字Mat image = Mat::zeros(Size(640, 480), CV_8UC3);//设置蓝色背景image.setTo(Scalar(100, 0, 0));//设置绘制文本的相关参数string text = "JILIN UNIVERSITY";int font_face = FONT_HERSHEY_COMPLEX; double font_scale = 2;int thickness = 2;int baseline;//获取文本框的长宽Size text_size = getTextSize(text, font_face, font_scale, thickness, &baseline);//将文本框居中绘制Point origin; origin.x = image.cols / 2 - text_size.width / 2;origin.y = image.rows / 2 + text_size.height / 2;putText(image, text, origin, font_face, font_scale, Scalar(0, 255, 255), thickness, 8, 0);//显示绘制解果imshow("image", image);waitKey(0);return 0;}

效果图:

文字绘制——putText详解相关推荐

  1. [转] OpenCV 文字绘制cv::putText详解

    ref:[OpenCV3]文字绘制--cv::putText详解_cv.puttext_PHILOS_THU的博客-CSDN博客 opencv学习(十三)之文本文字插入_opencv视频添加文本并保存 ...

  2. 【OpenCV】文字绘制 putText

    Backto OpenCV Index 在图像上绘制文字, void putText( InputOutputArray img, const String& text, Point org, ...

  3. python画椭圆-python opencv圆、椭圆与任意多边形的绘制实例详解

    圆形的绘制 : OpenCV中使用circle(img,center,radius,color,thickness=None,lineType=None,shift=None)函数来绘制圆形 impo ...

  4. Matlab中自带地图绘制WorldMap详解

    Matlab中自带地图绘制WorldMap详解 转载地址:http://blog.csdn.net/archielau/article/details/7933265,其实这些代码是在matlab中的 ...

  5. python:七段数码管绘制数字详解

    python:七段数码管绘制数字详解 七段数码管由七段数码管拼接而成,每段有亮或不亮两种情况.这里,先给出程序的全部代码,如下所示. 定义了drawDigit()函数,该函数根据输入的数字绘制七段数码 ...

  6. Excel 绘制表格 详解!

    Excel 绘制表格 详解! 1.在桌面上点击Excel图标,打开工作表,纵向是1.2.3.4-的顺序号,横向是A.B.C.D-的顺序号. 2.数一下你拟打的表格的列数,比如是8列,则你将鼠标箭头移到 ...

  7. OpenCV 文字绘制cv::putText详解

    ref:https://blog.csdn.net/guduruyu/article/details/68491211 https://blog.csdn.net/keith_bb/article/d ...

  8. 明年完成百余城高精地图绘制,详解晶众的营收之道

    作为自动驾驶的"眼",高精地图的赛道早已巨头林立.老兵新秀竞相争夺. 面对未来,再残酷的现实也阻挡不了半路潜伏者的杀入. 背靠晶众股份,一个国内知名的专业交通数据服务商,上海晶众信 ...

  9. 【论文必用】模糊C均值聚类的简单介绍、复现及Python代码详解、聚类可视化图的绘制过程详解!

    详解模糊C均值聚类 一.聚类 二.模糊C均值聚类 三.模糊C均值聚类的Python实现 四.参考链接 一.聚类 聚类的定义: 将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类.由聚类 ...

最新文章

  1. 200m的共享虚拟主机够用吗
  2. POJ1149 PIGS
  3. matlab hsv提取s_Matlab进阶教程 | 基于不规则已知点插值
  4. 【今晚9点】:对话黄琦——从FB到快手,短视频领域里的“实习生”
  5. LeetCode贪心 最长回文串
  6. linux安装vim plug, vim-plug 的安装和使用
  7. MSsqlserver服务快速打开和停止
  8. 【Spark】Spark的一个案例 Encountered removing nulls from dataset or using handleInvalid = “keep“ or “skip“
  9. 基于 bootstrap 字体图标,用纯CSS实现星级评分功能
  10. 嵌入式Linux--使用libpng库解码png图片
  11. git gui :Updating the Git index failed. A rescan will be automatically started to res
  12. PHP玄帧道长,青龙道长率众弟子朝真“凝真宫”
  13. js经纬度打开腾讯地图
  14. Unity 遮挡剔除
  15. 巴比特 | 元宇宙每日必读:大厂的高薪、期权都不香了,互联网精英纷纷涌向的Web3,魅力到底有多大?...
  16. 世界是有限的还是无限的?
  17. 图像的剪切(crop)matlab
  18. Web APls 阶段——第四节——案例:关闭淘宝二维码案例
  19. 嵌入式设备路由网络共享开发(2):移远Quectel系列4G模块驱动移值
  20. GOOGLE 人机验证(RECAPTCHA)无法显示解决方案(转)

热门文章

  1. mac下载python打不开_“Mac应用”已损坏,打不开解决办法
  2. zzulioj1017C语言答案,ZZULIOJ刷题1010-1019
  3. python docx文档页面设置---->纵向转横向
  4. AutoGluon学习笔记
  5. 使用imessage推广_如何安装,管理和使用iMessage应用程序
  6. python中字典值的求和以及lambda函数的用法
  7. picacg服务器维护,picacg打不开是怎么回事 picacg打不开如何解决
  8. SIFT算法的个人理解
  9. 年收入100万的家庭如何买保险最划算?
  10. EXCEL批量复制小技巧,赶紧存起来!