我正在尝试将zip文件中的所有图像收集到numpy数组中。
总是收到错误:OSError:获得第一个字节后无法回头!
import urllib.request
import os
import zipfile
import scipy
import numpy as np
import pandas as pd
import glob
import imageio
from os.path import splitext
url = 'https://github.com/yoavram/Sign-Language/raw/master/Dataset.zip'
filename = '../data/sign-lang'
if not os.path.exists('../data'):
os.mkdir('../data')
if not os.path.exists(filename):
urllib.request.urlretrieve(url, filename)
zf = zipfile.ZipFile(filename)
for file in zf.namelist():
basename,extension = splitext(file)
if extension == '.jpg':
with zf.open(file) as img_file:
img = imageio.read(img_file)
帮助?
我在很长一段时间内都遇到了类似的问题。
问题是imageio.read()
需要字节,但提供了文件类型对象。
要解决此问题,只需从文件中读取字节即可。
img = imageio.read(img_file.read())
另外,如果你想要 numpy 数组,你应该使用imageio.imread()