Ich bin kürzlich auf ein Problem gestoßen, das mindestens ein grundlegendes Maß an Bildverarbeitung erfordert. Kann ich dies in Python tun, und wenn ja, mit was?
81
Ich bin kürzlich auf ein Problem gestoßen, das mindestens ein grundlegendes Maß an Bildverarbeitung erfordert. Kann ich dies in Python tun, und wenn ja, mit was?
Antworten:
Die bekannteste Bibliothek ist PIL . Wenn Sie jedoch nur grundlegende Manipulationen durchführen, sind Sie mit den Python-Bindungen für ImageMagick wahrscheinlich besser dran. Diese sind wesentlich effizienter als das Schreiben der Transformationen in Python.
quelle
Je nachdem, was Sie unter "Bildverarbeitung" verstehen , ist die numpy-basierte Bibliothek möglicherweise eine bessere Wahl: mahotas , scikits.image oder scipy.ndimage . Alle diese Funktionen basieren auf Numpy-Arrays, sodass Sie Funktionen aus einer Bibliothek und einer anderen mischen und abgleichen können.
Ich habe die Website http://pythonvision.org gestartet, die weitere Informationen dazu enthält.
quelle
scikit-image
wird jetzt auf scikit-image.orgscipy.ndimage
Link ist tot. Aktueller Link, höchstwahrscheinlich: scipy.github.io/devdocs/tutorial/ndimage.htmlSie haben auch einen Ansatz zur Bildverarbeitung, der auf "standardmäßigen" wissenschaftlichen Modulen basiert: SciPy hat ein ganzes Paket für die Bildverarbeitung: scipy.ndimage . Scipy ist praktisch das Standardpaket für allgemeine numerische Berechnungen. Es basiert auf dem De-facto-Standard-Array-Manipulationsmodul NumPy : Bilder können auch als Array von Zahlen bearbeitet werden. Wie für die Bildanzeige, Matplotlib (auch Teil der „Wissenschaft Trilogie“) macht Anzeigen von Bildern ganz einfach .
SciPy wird immer noch aktiv gewartet, daher ist es eine gute Investition für die Zukunft. Darüber hinaus läuft SciPy derzeit auch mit Python 3, die Python Imaging Library (PIL) jedoch nicht.
quelle
import scipy
ohne PIL-Installation auskommen (import Image
schlägt fehl mitImportError
).So vervollständigen Sie die Liste: opencv http://opencv.willowgarage.com/documentation/python/index.html
quelle
Es gibt auch Pycairo , das je nach Ihren Bedürfnissen besser geeignet sein könnte.
quelle
Es gibt tatsächlich eine wunderbare Python Imaging Library (PIL) . Sie haben die Möglichkeit, vorhandene Bilder, einschließlich Anti-Aliasing-Funktionen, zu ändern und neue Bilder mit Text und dergleichen zu erstellen. Ein anständiges Einführungs-Tutorial finden Sie auch im PIL-Handbuch auf der oben genannten Website.
quelle
Wenn Sie einen benutzerdefinierten Bildverarbeitungseffekt erstellen, ist PythonPixels möglicherweise hilfreich. http://halfhourhacks.blogspot.com/2008/03/pythonpixels.html Es ist zum Schreiben und Experimentieren mit der Bildverarbeitung vorgesehen.
quelle
VIPS sollte schnell sein und mehrere CPUs verwenden:
https://github.com/libvips/libvips/wiki/Speed-and-memory-use
quelle