例如以下代码:

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 窗口和窗口里的东西中文乱码,楼主解决了吗?


推荐阅读:
相关文章