Wir könnten Modul zipfile.ZipFile
und PIL.Image.open
kombinieren, um das Bild aus der komprimierten Datei zu lesen. Möglicherweise erhalten wir jedoch einen Fehler io.UnsupportedOperation: seek
, nachdem wir PIL.Image.open
aufrufen. Es bezieht sich auf die Bedingung, dass ich wie unten ein ZipExtFile
Objekt PIL.Image.open
Funktion übergeben:Konvertieren Sie Bilder in einer komprimierten Datei wie einer Zip-Datei in numpy Array in Python
from zipfile import ZipFile
from PIL import Image
zipf = ZipFile(path, "r")
f = zipf.open("test.jpg")
img = Image.open(f)
So, wie das Problem zu beheben?
Sie die modernere verwenden sollten [io.BytesIO] (https://docs.python.org/3/library/io.html#io.BytesIO). Auf diese Weise wird Ihr Code auf Python 3 und Python 2 funktionieren. –
Ich habe BytesIO getestet und es hat auch funktioniert. Vielen Dank. –