ImageAnalyzer

Das ImageAnalyzer Projekt ist eine Java-Bibliothek, die einige Retrieval-Funktionalitäten für Bilder zur Verfügung stellt. Aktuell existiert ein Wrapper für die reine Javaimplementierung des SIFT Algorithmus, geschrieben von Stephan Saalfeld. Zudem ist auch ein Retrieval-Backend unter Verwendung eines KD-Baumes enthalten. Die KD-Baum Bibliothek wurde entnommen von Simon D. Levy. Bitte beachten Sie, dass der Code dafür modifiziert wurde, sodass die original Bibliothek nicht verwendet werden kann.

Lizenz

Der Quellcode der ImageAnalyzer Bibliothek selbst, steht unter der GPLv2, also die gleiche wie die Java-SIFT Implementierung auch (bitte beachten Sie, dass der Algorithmus durch ein U.S. Patent geschützt ist, und daher nicht in allen Kontexten eingesetzt werden kann). Der Autor der KD-Baum Implementierung hat den Quellcode nun unter die LGPL gestellt.

Beispiel

Nun ein kleines Beispiel zur Verwendung. Beachten Sie auch die JUnit-Tests im Sourcecode.

  1. ImageAnalyzerImplementation analyzer = new ImageAnalyzerImplementation();
  2. analyzer.bindImages(new File("my picture dir");
  3. List<ImageAnalyzerResult> res = analyzer.findImage(new File("a simliar image");
  4. System.out.println("Results: ");
  5. System.out.println(Arrays.toString(res.toArray()));

Kontext

Diese Bibliothek stellt die komplett neu geschriebe Implementierung einer Bibliothek dar, die ursprünglich für das Projekt OLIVANDA an der Universität Oldenburg geschrieben wurde. Kurz gefasst beschäftigt sich das Projekt, im Sinne einer Web2.0 Anwendung, mit der kontextuellen Verknüpfung von Handy-Fotos und inhaltlich verbundenen Web-Diensten. Das Problem dieser ursprünglichen Bibliothek war es, neben anderen Fehlern, dass dort Quellcode und Bibliotheken zusammengeführt wurden, die so nicht veröffentlichbar sind. Damit dieser Aufwand nicht umsonst war, entschied ich die funktionalität komplett neu zu schreiben und sie hier für weitere Projekte zur Verfügung zu stellen,

Changelog

[23. October 2008]
Die erste Version 0.01 des ImageAnalyzers. Der Quellcode auch aus dem SVN erhältlich (svn://neotos.de/jaiwls/trunk/imageAnalyzer). Die Dokumentation ist als Java-Doc hier zu finden.

[04. February 2010]
Ich habe den C/C++ FAST Corner Detector nach Java übersetzt und im 0.02 Release integriert. Leider ist die Funktionalität noch nicht im restlichen Framework eingeführt, aber trotzdem nützlich für andere Aufgaben. Es sei angemerkt das es sich hierbei wahrscheinlich um den schnellsten reinen Java Corner Detector handelt, den es zur Zeit gibt.

Have fun

AttachmentDatumSize
[file] imageAnalyzer_0.01.zip31/03/09 10:07 am797.43 KB
[file] ImageAnalyzer_0.02.zip04/02/10 1:20 pm2.86 MB