引言
在使用OpenCV进行图像处理时,经常会遇到中文文件名的问题。由于直接使用OpenCV库读取中文文件名很可能会导致出错,本文介绍几种方案来解决中文文件名读取图像。
1、问题描述
假设openCV在读取一张图片(中文.png)进行图像处理,但是直接打开,程序会报错,
方法一:
filename = u'中文123.jpg'
image = cv2.imread(filename)
方法二:
将image = cv2.imread(image_path)替换为:
image = cv2.imdecode(np.fromfile(image_path,dtype=np.uint8),-1)即可。
同样,如果要保存图像为中文文件名,则将cv2.imwrite(output_image_path, image)替换为:
cv2.imencode('.jpg', image)[1].tofile(output_image_path)
2、问题描述
当使用cv2.namedWindow或者cv2.inshow显示图像窗口,将窗口显示为中文时,会出现乱码现象
方法一:
name = "中文名"
winname_zh_ch =name .encode("gbk").decode('UTF-8,errors='ignore')
网友评论