使用opencv-python读取中文路径图片

img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), -1)  # 读入完整图片,见下面解释
img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 0)  # 读成灰度
img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 1)  # 读成彩图

其中cv2.imdecode后面的flag -1应该是和cv2.imread一样的。

使用函数cv2.imread(filepath, flags)读入一幅图片:

filepath: 要读入图片的路径。

flags: 读入图片的标志:

  cv2.IMREAD_UNCHANGED(-1): 顾名思义,读入完整图片,包括alpha通道。如果数据不含alpha通道则灰图读成(H, W),彩图读成(H, W, 3)。

  cv2.IMREAD_GRAYSCALE(0): 读入灰度图片,形状为(H, W)。彩图也读成灰的形状。

  cv2.IMREAD_COLOR(1): 默认参数, 读入一幅彩色图片,忽略alpha通道, 形状为(H, W, 3)。灰图也读成彩的形状。

有alpha通道的图片还没试验,不过看来读成-1比较稳妥。

 

参考:

https://www.cnblogs.com/come-on-baby/p/11386909.html

Python 3.x 使用 opencv 无法读取中文路径如何解决? - 冰不语的回答 - 知乎 https://www.zhihu.com/question/67157462/answer/251754530

posted @ 2019-12-30 20:59  永远怀着一颗学习的心  阅读(3740)  评论(0编辑  收藏  举报