python - 尝试将jpg文件提取到numpy数组时如何处理“OSError:获取第一个字节后无法回溯”
问题描述
我正在尝试将 zip 文件中的所有图像收集到一个 numpy 数组中。
总是报错:OSError: Cannot seek back after getting firstbytes!
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()
推荐阅读
- azure - 如何将 Power BI 管理员角色分配给安全组?
- parsing - 我得到了 Google Drive Api: parse error with post request
- javascript - 如何将 js 文件添加到页面模板 wordpress
- mongodb - 安装 bitnami mongodb-sharded 时,我从 PVC 收到错误:没有可用于此声明的持久卷并且没有设置存储类
- git - ssh -T git@github.com: 认证成功 | sudo git pull:权限被拒绝(公钥)
- javascript - 如何解决 Javascript 中的竞争条件?
- sql - SQL SELECT 并检查第二个表中的列
- arrays - 如何将代理文件添加到字典格式
- javascript - 如何将 html 输入保存到 json 文件?
- c++ - C++20 标准对使用子对象作为模板非类型参数有什么看法?