2 Stimmen

Tools für die Bildverarbeitung

Ich entwickle ein CBIR (Content based Image Retrieval System) als Teil meines BE-Projekts.

Welches der unten genannten Tools ist für die Bildverarbeitung besser geeignet?

1-> Matlab  
2-> Mathematica  

Ich plane, dieses System mit Java als Front-End des Systems zu entwickeln. Welche der oben genannten Systeme wird besser sein. Oder sollte ich für einige 3rd Party Bildverarbeitung APIs für Java ???? gehen.

6voto

Yaroslav Bulatov Punkte 55397

Ich habe jahrelang mit Mathematica gearbeitet und fand es trotzdem einfacher, Matlab von Grund auf zu lernen, um eine Bildverarbeitung zu machen Projekt . Was Matlab hier besser macht, ist, dass für viele moderne Bildalgorithmen Code verfügbar ist. Zum Beispiel müssen Sie für die inhaltsbasierte Bildsuche Inhaltsmerkmale extrahieren, und die vl_sift-Bibliothek macht das. Außerdem können Sie Ihre Matlab-Bibliothek bündeln, um sie als eigenständiges Programm laufen zu lassen, und ich weiß nicht, ob das mit Mathematica möglich ist.

4voto

AtharvaI Punkte 1140

Ich habe ImageJ vorgeschlagen, und andere haben ImageMagick erwähnt, da ich die Java-Umgebung erwähnt habe. Ich möchte jedoch meinen Vorschlag ändern. Ich bin auf die OpenCV (Opensource Computer Vision) Bibliotheken von Intel gestoßen. Dies ist ein großartiger Satz von Bibliotheken für die Verwendung mit C, C++ und Python. Sie sind auch plattformübergreifend! Die Portierung des Codes sollte also nicht allzu schwierig sein.

Ich halte OpenCV für großartig, weil es auch von Anfängern (wie mir) in der Bildverarbeitung verwendet werden kann. Zum Beispiel ist das Glätten eines Bildes so einfach wie der Aufruf einer Funktion cvSmooth() mit ein paar Parametern für die Art der Glättung (Weichzeichnen, Gauß usw.). Es unterstützt viel mehr fortgeschrittene Funktionen wie Optical Flow und Blob Tracking. Und das Tolle daran ist, dass sich einfache Bildtransformationen schnell ausprobieren oder erstellen lassen.

Für weitere Informationen besuchen Sie bitte http://opencv.willowgarage.com/wiki/ . Hier finden Sie Cheatsheats, Referenzhandbücher, Beispiele und einige Tipps. eine große Hilfe und Ausgangspunkt.

Danke

2voto

High Performance Mark Punkte 75503

Was sind Ihre Kriterien für die Messung der relativen Überlegenheit von Programmen für die Bildverarbeitung? Wenn Sie zum Beispiel ein Mathematica-Experte sind, werden Sie es einfacher finden, Mathematica für diese Aufgabe zu verwenden. Wenn Sie hingegen ein mittelloser Student sind, dann werden Sie Java und einige seiner Bibliotheken eher nach Ihrem Geschmack finden.

EDIT : als Antwort auf den Kommentar von OP ...

einfache Bildverarbeitung' ist völlig subjektiv - wenn Sie nicht wissen Mathematica dann wird es schwierig sein, es für die Bildverarbeitung zu verwenden - es ist also Ihre Entscheidung.

Die "Bearbeitungszeit" ist völlig objektiv - aber haben Sie die Zeit, alle 3 von Ihnen vorgeschlagenen Optionen auszuprobieren und zu vergleichen? Für ein BE-Projekt ist es viel besser, das Werkzeug zu verwenden, mit dem Sie am besten vertraut sind, und so wenig Zeit wie möglich damit zu verbringen, sich mit einem unbekannten Werkzeug herumzuschlagen, nur um ein bisschen mehr Geschwindigkeit zu erreichen.

zelluläre Automaten" für die Bildverarbeitung - ich weiß nicht, wie relevant das ist, aber Mathematica hat eine eingebaute Funktionalität für zelluläre Automaten.

0voto

Michael Brewer-Davis Punkte 13669

Ich würde mich mit dem ImageMagick / GraphicsMagick Familie ( SO Diskussion ), das mehrere Java-Wrapper hat (z.B., JMagick ).

0voto

Theresa Punkte 1

Sie könnten ImageMagick verwenden oder sich das JMF (Java Media Framework) ansehen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X