在Python中使用OpenCV读取图片的路径有中文,会读取失败。

admin2024-05-15  0

用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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!