2010-12-21 4 views
0

Meine Projektgruppe im letzten Jahr plant die Erstellung einer Echtzeitanwendung mit neuronaler Netzwerkunterstützung und muss effizient mit der Bildverarbeitung umgehen. Alle Sprachvorschläge wären sehr hilfreich. Vielen Dank.Hochsprache für Bildverarbeitung

Antwort

1

Mein Vorschlag ist OpenCV und C++. OpenCV ist auch mit Python verwendbar, aber ich empfehle es nicht, wenn Sie schnellen Code schreiben müssen, Python kann wirklich langsam sein.

+0

Das scheint sehr interessant zu sein, ich habe von OpenCV gehört, aber nicht benutzt. Ich habe gesehen, dass eine GPU-Parallelisierungstechnik mit Python möglich ist. (http://www.cs.lth.se/home/Calle_Lejdfors/pygpu/) Vielen Dank. –

0

Wie wäre es mit Python? Es gibt PIL, die

fügt Bildverarbeitungsfunktionen zu Ihrem Python-Interpreter. Diese Bibliothek unterstützt viele Dateiformate und bietet leistungsstarke Bildverarbeitungs- und Grafikfunktionen.

Ein einleitender Artikel über NN mit Python und eine Feed-Forward-NN-Bibliothek:

+0

In meiner Forschung sah ich eine GPU Parallelisierungstechnik ist auch mit Python möglich. (cs.lth.se/home/Calle_Lejdfors/pygpu). Vielen Dank. –

0

Matlab bietet eine Menge Funktionen für die Bildverarbeitung. Kann etwas langsam sein, aber ich nehme an, Leistung ist kein Problem.

+0

Danke. Da es sich um eine Echtzeitanwendung handelt, wird die Leistung ein großer Faktor sein. –

0

ImageMagick soll wirklich gut sein, aber ich habe keine Erfahrung aus erster Hand. Mathematica?

2

Mathematica kann einige nützliche Funktionen bieten. Die letzten paar Veröffentlichungen haben eine Menge Bildverarbeitungsfunktionen hinzugefügt. Sie können durch einen Blick auf diesen Blog-Eintrag einen Geschmack bekommen:

Mathematica ist eine interpretierte Sprache, die erscheinen würde ein Hindernis für Ihre Echt zu präsentieren Zeitbeschränkungen. Mathematica hat jedoch schon immer guten Fremdcode integriert (insbesondere C, Java und .NET), und die neueste Version bietet erhebliche neue Funktionen in Bezug auf C-Code-Generierung, Laden dynamischer Bibliotheken und CUDA/OpenCL-GPU-Programmierung.

Ach, Mathematica ist nicht FOSS und ist ziemlich teuer für den kommerziellen Einsatz. Allerdings geben sie große Studentenrabatte (90%, letztes Mal, wenn ich überprüft habe) und einige College/Universität Abteilungen haben Site-Lizenzen.

Auf der anderen Seite ist die Mathematica-Sprache ziemlich unkonventionell und es braucht Zeit, um in den Schwung der Dinge zu gelangen. IMO, die Anstrengung ist es wert, aber die Lernkurve könnte zu lang sein, wenn Ihre Projekt-Timelines kurz sind.

Hinweis: Ich bin in keiner Weise mit WRI verbunden.

+0

Danke.Wir haben einige Zeit, um das Projekt zu erforschen. Ihre Antwort wird sehr nützlich für meine Forschung sein. –