gpt4 book ai didi

python - 使用 python opencv 从 zip 加载图像

转载 作者:太空宇宙 更新时间:2023-11-03 20:47:44 24 4
gpt4 key购买 nike

我能够从 zip 文件中成功加载图像:

with zipfile.ZipFile('test.zip', 'r') as zfile:
data = zfile.read('test.jpg')
# how to open this using imread or imdecode?

问题是:如何在不先保存图像的情况下使用 imread 或 imdecode 打开它以便在 opencv 中进行进一步处理?

更新:

这是我得到的预期错误。我需要将“数据”转换为 opencv 可以使用的类型。

data = zfile.read('test.jpg')
buf = StringIO.StringIO(data)
im = cv2.imdecode(buf, cv2.IMREAD_GRAYSCALE)
# results in error: TypeError: buf is not a numpy array, neither a scalar

a = np.asarray(buf)
cv2.imdecode(a, cv2.IMREAD_GRAYSCALE)
# results in error: TypeError: buf data type = 17 is not supported

最佳答案

使用numpy.frombuffer()从字符串创建一个 uint8 数组:

import zipfile
import cv2
import numpy as np

with zipfile.ZipFile('test.zip', 'r') as zfile:
data = zfile.read('test.jpg')

img = cv2.imdecode(np.frombuffer(data, np.uint8), 1)

关于python - 使用 python opencv 从 zip 加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21357184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com