Was ist der effizienteste Weg, um auf die Pixeldaten eines PIL-Bildes von einer C-Erweiterung aus zuzugreifen? Ich brauche nur Lesezugriff darauf, wenn das einen Unterschied macht.Zugriff auf PIL-Bilddaten von der C-Erweiterung
Antwort
C-Level-Bindungen für PIL sind verfügbar, aber es gibt sehr wenig Dokumentation für sie. Sie müssen die Quelleninformationen zur Verwendung konsultieren.
Neben C-Erweiterung können Sie versuchen numpy. Es braucht ein bisschen, um zu lernen, obwohl. Überprüfen Sie zunächst Convert RGBA PNG to RGB with PIL und http://effbot.org/zone/pil-numpy.htm.
Meiner Erfahrung nach ist die numpige Leistung großartig, wenn der Code richtig geschrieben ist. Die Verarbeitung von Bilddaten kann mit der C-Erweiterung immer noch langsam sein. Aber numpy verwendet SIMD-Befehle wie SSE2, was die Bedienung, wie Histogramm-Erhöhung oder Alpha-Blending, erheblich verbessert.
Ich muss ein PIL-Bild an einen in C geschriebenen Bildkompressor eines Drittanbieters übergeben, also ist dies für mich keine Option. –
- 1. Zugriff auf typedef von der Instanz aus
- 2. Zugriff auf Elementfunktion der Superklasse
- 3. Zugriff auf ModelState.AddModelError() von der IsValid-Funktion der ValidationAttribute-Klasse
- 4. Zugriff auf Notizblockspeicher von C
- 5. Zugriff auf TextView von MainActivity
- 6. Zugriff auf DialogFragment von onEditorActionListener?
- 7. Zugriff auf String von NSIndex
- 8. Zugriff auf Bereichsvariable von HTML
- 9. Zugriff auf Seconds_Behind_Master von SQL
- 10. Zugriff auf Inhalte von HttpResponseMessage
- 11. Zugriff auf Benutzerprofil von Cron
- 12. Zugriff auf Header von Sinatra
- 13. Zugriff auf Beschleunigungsmesser von jni
- 14. Zugriff auf Stile von React?
- 15. Zugriff auf OrientDB von Python
- 16. Zugriff auf UIPopoverController von UIActionSheet
- 17. Zugriff auf TempData Von Global.asax
- 18. Zugriff auf Widgets von Fenster *
- 19. Zugriff auf Textbox von JQuery
- 20. Zugriff auf Request.QueryString von überall?
- 21. Flask-Admin Rollenbasierter Zugriff - Zugriff basierend auf der Rolle ändern
- 22. Zugriff auf geerbte Objekte aus der Klassenvorlage
- 23. Zugriff auf Felder der Android-Aktivitätsklasseninstanz?
- 24. Zugriff auf UINavigationController in der nativen Umgebung?
- 25. Python Unterklasse Zugriff auf Klassenvariable der Eltern
- 26. Zugriff auf Config.groovy aus der Java-Klasse
- 27. Zugriff auf Http-Antwortstring in der Aktivität
- 28. Zugriff auf externe Ressourcen von der Website Aspx
- 29. Zugriff auf ArangoDB-Daten von der Client-Seite
- 30. Zugriff auf Attribute von XML in der Shell
Eine der [diese] (http://effbot.org/zone/pil-extending.htm) in umgekehrter Reihenfolge kann helfen. Aber Sie müssen immer noch profilieren. – fraxel
Diese Antwort auf eine ähnliche Frage http://stackoverflow.com/a/6539393/235698 könnte Ihnen helfen. –