Python3.x opencv操作中文文件

2018-02-02  本文已影响633人  山哥Samuel

我用的是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的参数

上一篇下一篇

猜你喜欢

热点阅读