[opencv]解决cv2.imread()不能读取中文路径的问题,亲测可用,转载
本人在做人脸识别程序时,采集人脸信息,使用cv2.imread()从绝对路径中读取图片,但是路径中包含中文路径,结果导致无法读取成功。print(image.dtype)#打印输入图片路径## 读取图像,解决imread不能读取中文路径的问题def cv2_imread(image):image=cv2.imdecode(np.fromfile(image,dtype=np.uint8),-1)#
·
本人在做人脸识别程序时,采集人脸信息,使用cv2.imread()从绝对路径中读取图片,但是路径中包含中文路径,结果导致无法读取成功。
print(image.dtype)#打印输入图片路径
## 读取图像,解决imread不能读取中文路径的问题
def cv2_imread(image):
image=cv2.imdecode(np.fromfile(image,dtype=np.uint8),-1)
## imdecode读取的是rgb,如果后续需要opencv处理的话,需要转换成bgr,转换后图片颜色会变化
##cv_img=cv2.cvtColor(cv_img,cv2.COLOR_RGB2BGR)
image=cv2.cvtColor(image,cv2.COLOR_BGR2BGRA)
return image
image=cv2_imread(image)
print(image.dtype)
如上述代码,本人在输入图片路径后,进行第一次打印,发现image类型为str,而opencv做图像检测时,所需图像需为unit8。使用上述函数后,进行第二次打印,发现格式已经转换为unit8。
感谢liuqinshouss博主的文章,感谢大佬,帮我解决了这个问题,附链接:
https://blog.csdn.net/liuqinshouss/article/details/78696032
推荐大家都去看看,写的非常不错
更多推荐
所有评论(0)