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中input和raw_input的一点区别
Oct 21 Python
深入理解Python中的*重复运算符
Oct 28 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 Python
python一键去抖音视频水印工具
Sep 14 Python
解决python opencv无法显示图片的问题
Oct 28 Python
为什么Python中没有"a++"这种写法
Nov 27 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
Keras—embedding嵌入层的用法详解
Jun 10 Python
实例讲解Python 迭代器与生成器
Jul 08 Python
python爬虫之爬取笔趣阁小说
Apr 22 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下删除字符串中HTML标签的函数
2008/08/27 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
javascript实现的listview效果
2007/04/28 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
AngularJS中过滤器的使用与自定义实例代码
2016/09/17 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python多重继承实例
2014/10/11 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
Python 迭代,for...in遍历,迭代原理与应用示例
2019/10/12 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
保护环境建议书100字
2014/05/13 职场文书
诚信考试标语
2014/06/24 职场文书
法人身份证明书
2014/10/08 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书