Python通过Opencv中的putText方法进行中文的文本绘制

2019/8/8 22:43:49 人评论 次浏览 分类:Python


python 通过opencv中的putText方法进行中文的文本绘制。putText本身不支撑对中文文本的图像绘制。所以需要借助中文字体进行中文的显示。


1.需要引用 numpy ,cv2,然后从PIL引用 Image, ImageDraw,ImageFont。
2.封装能够绘制中文文本的方法。paint_chinese_opencv
3.通过img对象进行imshow。

示例代码如下:适用于python3版本。如果是python2版本的,请将 if not isinstance(chinese, str):改为 if not isinstance(chinese, unicode ):

其中字体“simsun.ttc”,必须是已经安装的中文字体,不过会报"OSError: cannot open resource"的错误。



import numpy as np 
import cv2 
from PIL import Image, ImageDraw,ImageFont 
def paint_chinese_opencv(im, chinese, pos, color):
    img_PIL = Image.fromarray(cv2.cvtColor(im, cv2.COLOR_BGR2RGB))
    font = ImageFont.truetype('simsun.ttc', 35)
    fillColor = color # 颜色
    position = pos # 位置
    if not isinstance(chinese, str):
        chinese = chinese.decode('utf-8')
    draw = ImageDraw.Draw(img_PIL)
    draw.text(position, chinese, font=font, fill=fillColor)
    img = cv2.cvtColor(np.asarray(img_PIL), cv2.COLOR_RGB2BGR)
    return img
#Create a black image
img = np.zeros((600,600,3),np.uint8)
img = paint_chinese_opencv(img, '我爱Python', (100, 100), (255, 255, 255))
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()




相关资讯

  • Anaconda,Conda和Pycharm的关系和项目工具包的安装指南

    1.conda好像是在Anaconda里面的,但是conda 里面又好像有Anaconda,相互包含的关系?2.Anaconda Navigator和conda的关系3.Pycharm和conda之间的关系4.Pycharm里面的项目要怎么安装工具包?5.Pycharm新建项目的时候,环境要怎么选择?6.Pycharm新建项目的时候可以复用之前的环境…

    2019/2/3 23:14:15

共有访客发表了评论 网友评论

验证码: 看不清楚?