原:https://blog.csdn.net/qq_40666028/article/details/80412103
环境: python = 3.6,opencv-python = 3.4,numpy = 1.13.3
问题: 使用cv2.imread
读取含有中文English路径的图片时,返回None
。
原因: opencv不接受non-ascii的路径。
解决方法: 先用np.fromfile()
读取为np.uint8
格式,使用再cv2.imdecode()
解码。
cv2.imdecode(buf, flags)
# buf - Input array or vector of bytes.
# flags - The same flags as in cv2.imread().
# - >0 Return a 3-channel color image.
# - =0 Return a grayscale image.
# - <0 Return the loaded image as is (with alpha channel).
- 1
- 2
- 3
- 4
- 五
- 6
例子如下:
# 读取图像,解决imread不能读取中文路径的问题
def img_read(file_path):
image = cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), 0)
return image