您好,登錄后才能下訂單哦!
這篇文章主要介紹python如何解決cv2繪制中文亂碼問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
因為使用cv2.putText() 只能顯示英文字符,中文會出現亂碼問題,
因此使用PIL在圖片上繪制添加中文,可以指定字體文件。
大體思路:
OpenCV圖片格式轉換成PIL的圖片格式;
使用PIL繪制文字;
PIL圖片格式轉換成OpenCV的圖片格式;
具體實現:
# coding=utf-8 # cv2解決繪制中文亂碼 import cv2 import numpy from PIL import Image, ImageDraw, ImageFont def cv2ImgAddText(img, text, left, top, textColor=(0, 255, 0), textSize=20): if (isinstance(img, numpy.ndarray)): # 判斷是否OpenCV圖片類型 img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 創建一個可以在給定圖像上繪圖的對象 draw = ImageDraw.Draw(img) # 字體的格式 fontStyle = ImageFont.truetype( "font/simsun.ttc", textSize, encoding="utf-8") # 繪制文本 draw.text((left, top), text, textColor, font=fontStyle) # 轉換回OpenCV格式 return cv2.cvtColor(numpy.asarray(img), cv2.COLOR_RGB2BGR) if __name__ == '__main__': img = cv2ImgAddText(cv2.imread('img1.jpg'), "大家好,我是片天邊的云彩", 10, 65, (0, 0 , 139), 20) cv2.imshow('show', img) if cv2.waitKey(100000) & 0xFF == ord('q'): cv2.destroyAllWindows()
效果展示:
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
以上是“python如何解決cv2繪制中文亂碼問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。