CV2 puttext不能显示中文问题
生活随笔
收集整理的這篇文章主要介紹了
CV2 puttext不能显示中文问题
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CV2 puttext不能顯示中文問(wèn)題,還是這個(gè)方法管用:
解決方法:將圖片格式轉(zhuǎn)化為PIL庫(kù)的格式,用PIL的方法寫(xiě)入中文,然后在轉(zhuǎn)化為CV的格式?
但是采用如下方案會(huì)導(dǎo)致性能降低,畢竟多加了一次轉(zhuǎn)化格式。
from PIL import Image cv2img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) ?# cv2和PIL中顏色的hex碼的儲(chǔ)存順序不同 pilimg = Image.fromarray(cv2img)# PIL圖片上打印漢字 draw = ImageDraw.Draw(pilimg) ?# 圖片上打印 font = ImageFont.truetype("simhei.ttf", 20, encoding="utf-8") ?# 參數(shù)1:字體文件路徑,參數(shù)2:字體大小 draw.text((0, 0), "Hi,我是詩(shī)shi", (255, 0, 0), font=font) ?# 參數(shù)1:打印坐標(biāo),參數(shù)2:文本,參數(shù)3:字體顏色,參數(shù)4:字體# PIL圖片轉(zhuǎn)cv2 圖片 cv2charimg = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR)之前做項(xiàng)目自己封裝了一個(gè)轉(zhuǎn)化函數(shù),時(shí)間久遠(yuǎn)忘記傳入?yún)?shù)的接口了。。。湊合看。。
def change_cv2_draw(image,strs,local,sizes,colour):cv2img = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)pilimg = Image.fromarray(cv2img)draw = ImageDraw.Draw(pilimg) ?# 圖片上打印font = ImageFont.truetype("SIMYOU.TTF",sizes, encoding="utf-8")draw.text(local, strs, colour, font=font)image = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR)return image?
總結(jié)
以上是生活随笔為你收集整理的CV2 puttext不能显示中文问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: extern “C“解决链接问题
- 下一篇: python实验二报告_20172304