0
点赞
收藏
分享

微信扫一扫

泰迪2024最新大数据分析/开发就业班课程大纲

用OpenCV的imread读取图片,如果图片路径有中文,读取会失败。这个问题只会在Python中出现,在C++中不会出现。

这个问题也很好避免,因为OpenCV可以直接从内存读入图片,所以只需要把含有中文路径的图片先读入内存,然后在OpenCV从内存中读入图片就行。 恰好numpy这个库,可以把中文路径下的文件读取到内存。

我写了一个python方法,用这个方法可以替换OpenCV读取图片的imread

def load_pic(filename: str, mode) -> np.ndarray:
    raw_data = np.fromfile(filename, dtype=np.uint8)  # 先用numpy把图片文件存入内存:raw_data,把图片数据看做是纯字节数据
    img = cv2.imdecode(raw_data, mode)  # 从内存数据读入图片
    return img
举报

相关推荐

0 条评论