当前位置:   article > 正文

python opencv imshow()显示窗口中文字符出现乱码 解决方案:将utf-8转换为gbk(未能完全解决)_opencv imshow显示中文乱码

opencv imshow显示中文乱码

1

原因分析:这是由于在OpenCV-Python包中,imshow函数的窗口标题是gbk编码,而Python3默认UTF-8编码。因而窗口标题包含中文时,会显示乱码。

解决这个问题,最直接就是从标题的编码入手:

string.encode("gbk").decode(errors="ignore")
  • 1

完整代码:

import numpy as np
import cv2 as cv
def zh_ch(string):    
	return string.encode("gbk").decode(errors="ignore")
img = np.zeros((512,512,3), np.uint8)
cv.imshow(zh_ch('图片'),img)
cv.waitKey(0)            
cv.destroyWindow('image') 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

但转换有风险,不一定百分之百正确,最好还是使用英文。

2

在这里插入图片描述

3

我使用了这句代码后,发现有的汉字无法显示,直接被省略掉了(errors=“ignore”)
在这里插入图片描述
参考文章1:opencv.imshow窗口的中文名称显示乱码

参考文章2:用pycharm、Python3.6、opencv3.2.0执行imshow窗口名称中文显示乱码?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/857721
推荐阅读
相关标签
  

闽ICP备14008679号