opencv中的imread不支持中文路径的解决办法

其实严格来说,不是imread不支持中文路径,而是不支持non-ascii。所以不论路径如何转换编码格式,应该都不能解决问题。

解决的思路就是先用其他支持中文的API,把图片数据导入到内存中,然后通过opencv从内存读入图片的方法,读入图片。

实现很简单

import cv2
import numpy as np

def readimg(filename, mode):
	raw_data = np.fromfile(filename, dtype=np.uint8)  #先用numpy把图片文件存入内存:raw_data,把图片数据看做是纯字节数据
	img = cv2.imdecode(raw_data, mode)  #从内存数据读入图片
	return img

这个函数就可以代替opencv的imread了,并且该函数支持中文路径

你可能感兴趣的:(OpenCV,opencv,imread,中文路径,不支持,Nontype)