Ich versuche ein Bild mit scipy zu lesen. Das Teil wird jedoch nicht akzeptiert scipy.misc.imread
. Was könnte die Ursache dafür sein?
>>> import scipy
>>> scipy.misc
<module 'scipy.misc' from 'C:\Python27\lib\site-packages\scipy\misc\__init__.pyc'>
>>> scipy.misc.imread('test.tif')
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
scipy.misc.imread('test.tif')
AttributeError: 'module' object has no attribute 'imread'
scipy.__version__
gibt0.9.0
für mich und ich kann dein problem nicht reproduzierenfrom scipy.misc import imread
, und dannimread('test.tif')
?imread
wurde in SciPy 1.0.0 veraltet und in 1.2.0 entfernt. Verwenden Sieimageio.imread
stattdessen.Antworten:
Sie müssen Pillow (früher PIL ) installieren . Aus der Dokumentation auf
scipy.misc
:Nach der Installation von Pillow konnte ich
imread
wie folgt zugreifen :quelle
<PngImagePlugin.PngImageFile...
imageio
nicht der Fall istscipy.imageio
.imread
ist in SciPy 1.0.0 veraltet und wird in 1.2.0 entfernt. Verwenden Sieimageio.imread
stattdessen.quelle
imresize
. Zuvorscipy.misc.imresize
funktioniert. Jetzt ist es veraltet und wo bekomme ich eine Alternative dafür?imread wird nach Version 1.2.0 abgeschrieben! Um dieses Problem zu lösen, musste ich Version 1.1.0 installieren.
quelle
imageio
jetzt da.Für Python 3 ist es am besten zu verwenden
imread
inmatplotlib.pyplot
:quelle
Falls jemand auf dasselbe Problem stößt, deinstallieren Sie bitte scipy und installieren Sie scipy == 1.1.0
quelle
Sie benötigen die Python Imaging Library (PIL), aber leider! Das PIL-Projekt scheint aufgegeben worden zu sein. Insbesondere wurde es nicht auf Python 3 portiert. Wenn Sie also PIL-Funktionalität in Python 3 wünschen, sollten Sie Pillow verwenden , das die halboffizielle Abzweigung von PIL ist und offenbar aktiv entwickelt wird. Wenn Sie überhaupt eine moderne PIL-Implementierung benötigen, würde ich Pillow empfehlen. Es ist so einfach wie
pip install pillow
. Da es denselben Namespace wie PIL verwendet, handelt es sich im Wesentlichen um einen Drop-In-Ersatz.Wie "halboffiziell" ist diese Gabel? Sie können fragen. Auf der Info- Seite der Pillow-Dokumente heißt es:
Die neueste PIL-Version auf der offiziellen PIL-Website ist jedoch auf den 15. November 2009 datiert. Ich denke, wir können Pillow sicher als Nachfolger von PIL proklamieren, nachdem (zum jetzigen Zeitpunkt) fast acht Jahre lang keine neuen Versionen veröffentlicht wurden. Selbst wenn Sie keine Python 3-Unterstützung benötigen, empfehlen wir Ihnen, die in PyPI verfügbare alte PIL 1.1.6-Distribution zu meiden und einfach ein neues, aktuelles und kompatibles Kissen zu installieren.
quelle
Installieren Sie die Kissenbibliothek mit den folgenden Befehlen:
Beachten Sie, dass die ausgewählte Antwort veraltet ist. Siehe die Dokumente von SciPy
quelle
Wie beantwortet, ist misc.imread in SciPy 1.0.0 veraltet und wird in 1.2.0 entfernt. imageio ist eine Option, es wird ein Objekt vom Typ zurückgegeben:
Verwenden Sie jedoch anstelle von imageio cv2
Ich werde vom Typ sein:
<class 'numpy.ndarray'>
Da numpy Arrays schneller zu berechnen sind.
quelle
Imread verwendet die PIL-Bibliothek. Wenn die Bibliothek installiert ist, verwenden Sie: "from scipy.ndimage import imread"
Quelle: http://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.ndimage.imread.html
quelle
Das hat bei mir funktioniert.
quelle
Sie benötigen eine Python-Bildbibliothek ( PIL ), aber jetzt reicht PIL nicht mehr aus. Sie sollten Pillow besser installieren . Das funktioniert gut.
quelle
pillow
anstelle von verwendet werden solltePIL
. Ich denke nicht, dass es eine schlechte Idee ist, es als Antwort hinzuzufügen, aber es wäre weitaus nützlicher, wenn Sie erklären würden, warum. Vielen Dank.Beim Ausführen der folgenden Schritte in einem Jupyter-Notizbuch wurde eine ähnliche Fehlermeldung angezeigt:
'error' msg:
Und mit folgendem habe ich es gelöst:
quelle
Ich habe alle Pakete, die für die Bildextraktion auf einem Jupyter-Notebook erforderlich sind, aber selbst dann zeigt es mir den gleichen Fehler.
Fehler auf Jupyter Notebook
Beim Lesen der obigen Kommentare habe ich die erforderlichen Pakete installiert. Bitte sagen Sie mir, ob ich einige Pakete verpasst habe.
quelle
Die Lösung, die für mich in Python 3.6 funktioniert, ist die folgende
quelle