opencv-python读取中文路径,cv2.imdecode()

原: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

猜你喜欢

转载自blog.csdn.net/xky1306102chenhong/article/details/81460916