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.
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.
scikit-image
wird jetzt auf scikit-image.org
scipy.ndimage
Link ist tot. Aktueller Link, höchstwahrscheinlich: scipy.github.io/devdocs/tutorial/ndimage.html
Sie 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.
import scipy
ohne PIL-Installation auskommen ( import Image
schlägt fehl mit ImportError
).
So vervollständigen Sie die Liste: opencv http://opencv.willowgarage.com/documentation/python/index.html
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.
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.
VIPS sollte schnell sein und mehrere CPUs verwenden:
https://github.com/libvips/libvips/wiki/Speed-and-memory-use