CV2 puttext不能显示中文问题
生活随笔
收集整理的這篇文章主要介紹了
CV2 puttext不能显示中文问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
CV2 puttext不能顯示中文問題,還是這個方法管用:
解決方法:將圖片格式轉化為PIL庫的格式,用PIL的方法寫入中文,然后在轉化為CV的格式?
但是采用如下方案會導致性能降低,畢竟多加了一次轉化格式。
from PIL import Image cv2img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) ?# cv2和PIL中顏色的hex碼的儲存順序不同 pilimg = Image.fromarray(cv2img)# PIL圖片上打印漢字 draw = ImageDraw.Draw(pilimg) ?# 圖片上打印 font = ImageFont.truetype("simhei.ttf", 20, encoding="utf-8") ?# 參數1:字體文件路徑,參數2:字體大小 draw.text((0, 0), "Hi,我是詩shi", (255, 0, 0), font=font) ?# 參數1:打印坐標,參數2:文本,參數3:字體顏色,參數4:字體# PIL圖片轉cv2 圖片 cv2charimg = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR)之前做項目自己封裝了一個轉化函數,時間久遠忘記傳入參數的接口了。。。湊合看。。
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?
總結
以上是生活随笔為你收集整理的CV2 puttext不能显示中文问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: extern “C“解决链接问题
- 下一篇: openssl 1.1.1编译语句