Python – 解决opencv-python使用cv2.imread()读取中文路径图片失败的问题
1 解决opencv-python使用cv2.imread()读取中文路径图片失败的问题
在深度学习的项目中,经常会处理图片数据集,经常会面临读取中文路径下的图片文件的问题,一般情况下我们会使用以下代码读取图片数据,
import cv2
def read_image(img_path):
img = cv2.imread(img_path)
return img
if __name__ == '__main__':
image_path = 'E:\\猫狗数据集\\1.png'
img = read_image(image_path)
上述代码对于不包含中文路径的图片数据是可行的,但是对于中文路径的图片数据读取会出现结果数据为空的情况,以至于后续的一系列图片操作例如resize
等会出现错误,比如!ssize.empty() in function 'cv::resize'
的这种错误。至于中文路径下的图片读取失败的原因一般是由于字符编码的问题,对于这种问题,我们可以使用以下方式读取中文路径图片。
import cv2
import numpy as np
def read_image(img_path):
img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), cv2.IMREAD_COLOR)
return img
if __name__ == '__main__':
image_path = 'E:\\猫狗数据集\\1.png'
img = read_image(image_path)
现在数据读取到numpy数组中,而np.fromfile
可从中文路径中读取数据,然后再使用cv2.imdecode
从内存中读取图像数据。
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Python – 解决opencv-python使用cv2.imread()读取中文路径图片失败的问题
原文链接:https://www.stubbornhuang.com/2163/
发布于:2022年06月14日 14:44:58
修改于:2023年06月26日 20:07:26
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52