问题: 使用cv2.imread读取含有中文路径的图片时,返回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).
读取图像,解决imread不能读取中文路径的问题
def unet_predict(img_src_path):
img_src = cv2.imdecode(np.fromfile(img_src_path, dtype=np.uint8), -1)