CV2 puttext不能显示中文问题,还是这个方法管用:

解决方法:将图片格式转化为PIL库的格式,用PIL的方法写入中文,然后在转化为CV的格式

但是采用如下方案会导致性能降低,毕竟多加了一次转化格式。

from PIL import Image
cv2img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)  # cv2和PIL中颜色的hex码的储存顺序不同
pilimg = Image.fromarray(cv2img)# PIL图片上打印汉字
draw = ImageDraw.Draw(pilimg)  # 图片上打印
font = ImageFont.truetype("simhei.ttf", 20, encoding="utf-8")  # 参数1:字体文件路径,参数2:字体大小
draw.text((0, 0), "Hi,我是诗shi", (255, 0, 0), font=font)  # 参数1:打印坐标,参数2:文本,参数3:字体颜色,参数4:字体# PIL图片转cv2 图片
cv2charimg = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR)

之前做项目自己封装了一个转化函数,时间久远忘记传入参数的接口了。。。凑合看。。

def change_cv2_draw(image,strs,local,sizes,colour):cv2img = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)pilimg = Image.fromarray(cv2img)draw = ImageDraw.Draw(pilimg)  # 图片上打印font = ImageFont.truetype("SIMYOU.TTF",sizes, encoding="utf-8")draw.text(local, strs, colour, font=font)image = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR)return image

CV2 puttext不能显示中文问题相关推荐

  1. C++ OpenCV【解决putText不能显示中文】

    使用cv::putText写中文字符时输出结果为"??????"......这怎么能忍? python方法中可以将opencv图片转化为PIL,写中文之后再转回opencv格式. ...

  2. OpenCV puttext不调库显示中文

    opencv的puttext函数显示中文时会乱码,网上搜了很多方法都要调库啥的来解决,感觉有些麻烦,而且文字也有一些锯齿等,效果不是很好. 自己写了个头文件来解决这个问题,代码非常简洁,如下: put ...

  3. 解决cv2.putText()函数不能在图片或视频流上打印中文

    首先在linux系统下面安装配置字体文件 先到win10下面的windows/fonts/目录下将需要的字体文件拷贝出来;然后到linux系统下执行以下命令: sudo mkdir /usr/shar ...

  4. 【OpenCV 例程200篇】22. 图像添加非中文文字(cv2.putText)

    『youcans 的 OpenCV 例程200篇 - 总目录』 [youcans 的 OpenCV 例程200篇]22. 图像添加非中文文字 函数 cv2.putText() 用于在图像上绘制文本字符 ...

  5. python opencv 如何给图片添加文字?cv2.putText() PIL

    参考文章1:python如何在图片上添加文字(中文和英文)Python在图片上添加文字的两种方法:OpenCV和PIL 参考文章2:python之------如何在图片上面添加文字(多种类型的文字)[ ...

  6. 【图像处理基础知识】python+opencv显示中文

    直接通过cv2.putText()写入的文字只能是英文,虽然opencv以字符串形式接收,但对于中文,会显示问号"???". 找到一个可行的办法,可以应急 封装代码: #codin ...

  7. OpenCV显示中文字体

    01.引言 OpenCV-Python 是一个用来图像处理的 Python 库,但其一般不能在图片上显示中文,否则会乱码.但有些情况下我们必须要显示中文,因此,我们可以使用 PIL 库来写中文,再转换 ...

  8. OpenCV cv2.putText实现字符串换行'\n'

    OpenCV cv2.putText实现字符串换行'\n' OpenCV显示字符串时,可以调用cv2.putText直接进行显示方法,但该函数是不支持换行符"\n"的 要想实现自动 ...

  9. OpenCV显示中文汉字,未使用CvxText和FreeType库

    OpenCV显示中文汉字,未使用CvxText和FreeType库 采用windows的GDI显示系统的TrueType字体,没有封装,就两个函数,分成了h和cpp文件,可以自己编辑文件名和函数名,亦 ...

最新文章

  1. 怎么修改gif图片中的文字[实用]
  2. debian nvidia 安装_【折腾】openSUSE安装与配置——从入门到放弃
  3. 远程连接MySQL数据库失败
  4. NYOJ 士兵杀敌(四) 树状数组
  5. java核心api_Java核心API之字符流使用介绍
  6. python英文语义角色标注_八款中文词性标注工具使用及在线测试
  7. The Common Language Runtime (CLR)
  8. curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!
  9. 华为Mate30系列诠释真旗舰:9月26日在国内正式发布
  10. 在Typescript中使用ASP.NET Core SignalR和React创建实时应用程序
  11. 线性回归(Linear Regression)模型的构建和实现
  12. .NET平台常用的框架整理
  13. Leetcode-9-回文数(简单)
  14. 基于变步长扰动观察法的最大功率点跟踪
  15. 【教程】NEC e-Border Client的设置图文教程(中文版)
  16. CentOS7安装PHP5.3.28
  17. 论文那些事—Admix: Enhancing the Transferability of Adversarial Attacks
  18. linux 创建 swap分区
  19. 【CSS】相对长度单位 绝对长度单位,vw/vh , rem等
  20. http://www.

热门文章

  1. 如何快速把音乐转成MP3格式
  2. Linux系统CPU相关信息查询
  3. 0623TP框架联系
  4. Hadoop开发第2期---虚拟机中搭建Linux
  5. IIS Express 使用详细说明
  6. [转]android webview学习
  7. SBO错误提示总帐科目缺失解决方法
  8. 桌面虚拟化之用户行为审计
  9. Spring IOC容器-自动装配
  10. c语言将链表写入二进制文件_通过逐级遍历将二进制树转换为单链表的C程序