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编写函数装饰器
Mar 18 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 Python
Python3 SSH远程连接服务器的方法示例
Dec 29 Python
Python的高阶函数用法实例分析
Apr 11 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
python通过实例讲解反射机制
Oct 17 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 Python
Python使用openpyxl复制整张sheet
Mar 24 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扩展开发经验分享
2012/09/06 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
mac pecl 安装php7.1扩展教程
2019/10/17 PHP
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
js enter键激发事件实例代码
2016/08/17 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
nodeJS模块简单用法示例
2018/04/21 NodeJs
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
vue组件从开发到发布的实现步骤
2018/11/11 Javascript
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
Python地图绘制实操详解
2019/03/04 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
Python Opencv中用compareHist函数进行直方图比较对比图片
2020/04/07 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
python自动化办公操作PPT的实现
2021/02/05 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
美国最大网上鞋店:Zappos
2016/07/25 全球购物
房屋出租委托书格式
2014/09/23 职场文书
目标责任书格式范文
2015/05/11 职场文书
《风筝》教学反思
2016/02/23 职场文书