例如以下代碼:

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 窗口和窗口裡的東西中文亂碼,樓主解決了嗎?


推薦閱讀:
相关文章