使用python opencv从zip加载图像
发布时间:2020-12-20 12:23:59 所属栏目:Python 来源:网络整理
导读:我能够从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中进一步处理? 更新: 这是我得
我能够从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中进一步处理? 更新: 这是我得到的预期错误.我需要将’data’转换为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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |