图像显示窗口名支持中文 使用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 @   atom_lxh  阅读(1017)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示