iOS Image Manipulation (Verzerrung)
Ich zunächst näherte sich diesem Thema mit CoreImage im Kopf (weil ich auch tun muss, Gesichts-Erkennung), aber klar, dass, leider, die CI-Verzerrung Filter sind noch nicht auf dem iPhone.
Ich versuchte, Tauchen Sie ein in GLImageProcessing, CImg, und ImageMagick, obwohl ich habe eine Menge von Schwierigkeiten, einen Ausgangspunkt für das lernen dieser.
Angesichts der Anzahl von apps gibt, die Bildverzerrungen, ich weiß, das kann nicht sein unglaublich schwierig.
Weiß ich nicht C oder C++, und haben nicht die Zeit, um zu lernen dieser Sprachen, es sei denn absolut notwendig. Es würde notwendig werden, wenn eine dieser Bibliotheken ist die ultimative Bibliothek für die Bearbeitung dieser Aufgabe.
Hat jemand Erfahrung mit diesen Bibliotheken?
Irgendwelche Bücher gibt, decken diese die für iOS5 speziell?
Ressourcen, die ich gefunden habe:
-
GLImageProcessing Beispielprojekt
https://developer.apple.com/library/ios/#samplecode/GLImageProcessing/Introduction/Intro.html -
ImageMagick & MagickWand
http://www.imagemagick.org/script/magick-wand.php -
Einfache iPhone Bildbearbeitung
http://code.google.com/p/simple-iphone-image-processing/
- Ich habe ImageMagick vor und es war ein bisschen ein Streit immer es gebaut "genau richtig" für unsere OS-X-Produkt, aber am Ende hat es sich gelohnt. Leider habe ich nicht mehr, das makefile, so dass ich kann nicht es Ihnen geben.
- Wenn Sie möchten, verwenden Sie eine der Bibliotheken, sind Sie gehen zu müssen, um die Zeit nehmen zu lernen die Sprache Sie geschrieben ist. Vielleicht verstehe ich nicht die Frage.
- Danke für die Antworten Jungs, nur nicht das, was ich hören wollte 🙁 dumme Apple nicht diese Filter zur Verfügung, die die Entwickler noch nicht!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Sie sagen, die aktuellen Fähigkeiten von Core Image sind ein wenig beschränkt auf iOS. Insbesondere das fehlen von custom-kernels wie Sie finden auf dem desktop ist enttäuschend. Die anderen alternativen Liste (mit Ausnahme von GLImageProcessing, die nicht in der Lage sein, das zu tun diese Art der Filterung) sind alle CPU-gebundene Bibliotheken und wäre viel zu langsam für live-filtern auf einem mobilen Gerät.
Allerdings kann ich Punkt Sie zu einem open-source-framework namens GPUImage, dass ich nur gerollt, weil ich nicht finden konnte, etwas, dass Sie pull-off Effekte. Wie der name andeutet, GPUImage stellt GPU-beschleunigte Bearbeitung von Bildern und Videos mithilfe von OpenGL ES 2.0 Shader. Sie können schreiben Sie Ihre eigenen Effekte mit diesen, so dass Sie sollten in der Lage sein zu tun, gerade über alles, was man sich denken kann. Der Rahmen selbst ist in Objective-C, und hat eine ziemlich einfache Schnittstelle.
Als ein Beispiel für die Verzerrung filter, der folgende shader (basiert auf dem code in Danny Pflughoeft Antwort) ist eine Art Fischaugen-Effekt:
Dieser produziert diese Art der Wirkung auf einen video-stream:
In meinen benchmarks, GPUImage Prozesse Bilder, die 4X schneller sind als die Core-Image auf einem iPhone 4 (6X schneller als CPU-gebunden-Verarbeitung) und video-25X schneller als die Core-Image (70X schneller als auf der CPU). Selbst In den schlimmsten Fall, ich könnte um sich werfen, es entspricht die Core-Image für die Verarbeitungsgeschwindigkeit.
Rahmen ist noch ziemlich neu, so dass die Anzahl der Aktien-Filter habe ich in es ist im Moment gering, aber ich werde das hinzufügen ein paar mehr bald. In der Zwischenzeit, Sie können schreiben Sie Ihre eigenen custom distortion Shader für die Verarbeitung der Bilder, und die Quellcodes für alles, was verfügbar ist für Sie zu zwicken, wie gebraucht. Meinen einleitenden post darüber hat ein wenig mehr detail auf, wie verwenden Sie diese in Ihren Anwendungen.