python 解决cv2绘制中文乱码问题


Posted in Python onDecember 23, 2019

因为使用cv2.putText() 只能显示英文字符,中文会出现乱码问题,

因此使用PIL在图片上绘制添加中文,可以指定字体文件。

大体思路:

OpenCV图片格式转换成PIL的图片格式;

使用PIL绘制文字;

PIL图片格式转换成OpenCV的图片格式;

具体实现:

# coding=utf-8
# cv2解决绘制中文乱码
 
import cv2
import numpy
from PIL import Image, ImageDraw, ImageFont

 
def cv2ImgAddText(img, text, left, top, textColor=(0, 255, 0), textSize=20):
  if (isinstance(img, numpy.ndarray)): # 判断是否OpenCV图片类型
    img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
  # 创建一个可以在给定图像上绘图的对象
  draw = ImageDraw.Draw(img)
  # 字体的格式
  fontStyle = ImageFont.truetype(
    "font/simsun.ttc", textSize, encoding="utf-8")
  # 绘制文本
  draw.text((left, top), text, textColor, font=fontStyle)
  # 转换回OpenCV格式
  return cv2.cvtColor(numpy.asarray(img), cv2.COLOR_RGB2BGR)


if __name__ == '__main__':
  img = cv2ImgAddText(cv2.imread('img1.jpg'), "大家好,我是片天边的云彩", 10, 65, (0, 0 , 139), 20)
  cv2.imshow('show', img)
  if cv2.waitKey(100000) & 0xFF == ord('q'):
    cv2.destroyAllWindows()

效果展示:

python 解决cv2绘制中文乱码问题

以上这篇python 解决cv2绘制中文乱码问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的string模块中的Template类字符串模板用法
Jun 27 Python
老生常谈python的私有公有属性(必看篇)
Jun 09 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
Nov 01 Python
Python嵌套列表转一维的方法(压平嵌套列表)
Jul 03 Python
python将txt等文件中的数据读为numpy数组的方法
Dec 22 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
详解mac python+selenium+Chrome 简单案例
Nov 08 Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 Python
Python 2种方法求某个范围内的所有素数(质数)
Jan 31 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
MATLAB 全景图切割及盒图显示的实现步骤
May 14 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 #Python
python 多进程队列数据处理详解
Dec 23 #Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 #Python
python读取ini配置文件过程示范
Dec 23 #Python
python读取Kafka实例
Dec 23 #Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 #Python
kafka监控获取指定topic的消息总量示例
Dec 23 #Python
You might like
php检测文件编码的方法示例
2014/04/25 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
2017/01/19 Javascript
Angular2库初探
2017/03/01 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
对python 通过ssh访问数据库的实例详解
2019/02/19 Python
python中的decimal类型转换实例详解
2019/06/26 Python
python基于event实现线程间通信控制
2020/01/13 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
Python 存取npy格式数据实例
2020/07/01 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
物业经理求职自我评价
2013/09/22 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
物理课外活动总结
2014/08/27 职场文书
关于读书的演讲稿400字
2014/08/27 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
介绍信范文大全
2015/05/07 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电