因为要转换一批bmp图片到jpg格式,不料转换完后发现少了几十张,于是开始找问题。

发现没成功转换的图片文件名上都有中文,于是怀疑是中文问题。

试了 # -*- coding: gbk -*-  没用 ,path.decode('utf-8').encode('gbk') 也不行。

最后发现 cv2.imdecode(np.fromfile(imPth,dtype=np.uint8),1) 可行 !

这个函数相当于cv2.imread(path). 参数1表示读取彩色RGB,还可以是 -1 读取全部信息 如RGBA 或者 0 读取灰度图。

 

保存中文路径用以下,不然还会出现乱码:.jpg 表示用jpg格式编码

cv2.imencode('.jpg', imPth)[1].tofile('{}/{}'.format(savePath,imName))
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐