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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM