我用的是python3.6,本身用file打开中文文件是没有问题的,但是用opencv就不行,网上看到很多解决版本,可能都是针对python2.x的,没有效果,后来在知乎上看到一个解决方法,测试有效,引用在这里:
冯卡门
由于python3字符串采用utf8编码,cv2.imread将utf8当作本地码(如GBK),这个问题无解了。Python 2.7可以用decode/encode的方法(包括崔鸣浩用的默认GBK编码)解决,此方法在Python 3中已不能用了。可以采用以下方法代替
imread
img = cv2.imdecode(np.fromfile(‘unicode_path’, dtype=np.uint8), flags)
# flags: 0 为黑白,1为彩色
imwrite
cv2.imencode(‘.jpg’, img)[1].tofile(‘unicode_path’)
imencode/imdecode包含了imwrite/imread的参数
网友评论