python 解决cv2绘制中文乱码问题
更新时间:2019年12月23日 11:04:23 作者:gmHappy
今天小编就为大家分享一篇python 解决cv2绘制中文乱码问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
因为使用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的Django框架中使用SQLAlchemy操作数据库的教程
SQLAlchemy是Python一个专门的数据库管理工具,如果对Django ORM觉得有些生疏的话完全可以结合SQLAlchemy,这里我们就来总结一下Python的Django框架中使用SQLAlchemy操作数据库的教程2016-06-06python解决方案:WindowsError: [Error 2]
使用Python的rename()函数重命名文件时出现问题,提示 WindowsError: [Error 2] 错误,需要的朋友可以参考下2016-08-08Python批量将csv文件编码方式转换为UTF-8的实战记录
近日在处理数据的时候发现有的文件为csv文件,Xiam 这篇文章主要给大家介绍了关于利用Python批量将csv文件编码方式转换为UTF-8的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下2022-07-07
最新评论