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。其他的看代碼,看注釋。