用pycharm、Python3.6、opencv3.2.0執行imshow窗口名稱中文顯示亂碼?
例如以下代碼:
import cv2
img = cv2.imread("lena.bmp")cv2.imshow("一個Image", img)
cv2.waitKey (0)
cv2.destroyAllWindows()運行結果為:
窗口名稱亂碼。。。
按照網上搜到的方法改了
1.settings---Appearance,勾選Override default fonts by並選擇一個支持中文的字體
2.settings----Editor----File Encodings里設置IDEEncoding/Project Encoding、Default encoding for properties都為UTF-8
結果還是如上圖
在vs2017中imshow的窗口名稱顯示就沒問題
求助求助!
img = cv2.imread("lena.bmp")cv2.imshow(u"一個Image", img)
在"一個"前加個"u"試試
gbk_title = title.encode("gbk").decode(errors="ignore")
cv2.imshow(gbk_title,img)
python的str是utf-8編碼,imshow的窗口標題是gbk編碼。
這個做法事實上使用gbk_title的內存空間傳遞可以在gbk編碼下正常顯示的位元組數據,換成是c++不會有字元丟失的問題。但是在python中,由於bytes到str需要經過encode,無法編碼的位元組就會被丟棄掉(如果encode時errors=『ignore『)
好早的問題,現在也碰到了,就想知道解決了嗎
同樣問題python3.6 + opencv3.4 64位,imshow 窗口中文漢子顯示亂碼,沒有解決
遇到了同樣的問題。opencv3+python3.6 窗口和窗口裡的東西中文亂碼,樓主解決了嗎?
推薦閱讀: