opencv-python不能往图片上写中文,乱码要这么做

import cv2
from PIL import Image, ImageDraw, ImageFont

#
opencv往图片中写入中文,返回图片 def DrawChinese(img, text, positive, fontSize=20, fontColor=(0, 255, 0)): # args-(img:numpy.ndarray, text:中文文本, positive:位置, fontSize:字体大小默认20, fontColor:字体颜色默认绿色) cv2img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # cv2和PIL中颜色的hex码的储存顺序不同 pilimg = Image.fromarray(cv2img) # PIL图片上打印汉字 draw = ImageDraw.Draw(pilimg) # 图片上打印 font = ImageFont.truetype("simhei.ttf", fontSize, encoding="utf-8") # 参数1:字体文件路径,参数2:字体大小 draw.text(positive, text, fontColor, font=font) # 参数1:打印坐标,参数2:文本,参数3:字体颜色,参数4:字体格式 cv2charimg = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR) # PIL图片转cv2 图片 return cv2charimg

也没啥可注意的,就只有PIL要用pillow。其他的看代码,看注释。

参考网址:https://blog.csdn.net/houzijushi/article/details/81321661

posted @ 2020-09-03 14:55  海阔天高不知处  阅读(1537)  评论(0编辑  收藏  举报