图像显示窗口名支持中文 使用cv2.imshow()显示图像默认是不支持中文名称的窗口的

图像显示窗口名支持中文

    使用cv2.imshow()显示图像默认是不支持中文名称的窗口的,如果你的窗口名参数中包含中文将会显示为乱码。这是由于在OpenCV-Python包中,imshow函数的窗口标题是gbk编码,而Python3默认UTF-8编码。因而窗口标题包含中文时,会显示乱码。

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

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

    执行如下代码:

复制
# -*- coding: utf-8 -*-
import cv2
import numpy as np


def zh_ch(string):
return string.encode("gbk").decode(errors="ignore")

if __name__ == '__main__':
img = cv2.imdecode(np.fromfile("E:/图片/汽车.jpg", dtype=np.uint8),1)
cv2.imshow(zh_ch('图片'), img)
cv2.imencode('.jpg', img)[1].tofile("E:/图片/汽车备份.jpg")
cv2.waitKey(0)
cv2.destroyAllWindows()
-----------------------------------
©著作权归作者所有:来自51CTO博客作者Color_Space的原创作品,请联系作者获取转载授权,否则将追究法律责任
Python OpenCV与中文相关的三个常见问题
https://blog.51cto.com/stq054188/5836373

posted @ 2024-02-03 17:46  atom_lxh  阅读(705)  评论(0编辑  收藏  举报