使用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