在Python中使用opencv往图像上写中文
import cv2
from PIL import Image, ImageDraw, ImageFont
def DrawChinese(img, text, positive, fontSize=20, fontColor=(0, 255, 0)):
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