Frage

Ich lerne gerade über Computer Vision und C #. Es scheint, wie zwei prominente Bildverarbeitungsbibliotheken sind OpenCV und AForge . Was sind einige der Unterschiede der beiden?

Ich erstelle ein grundlegendes Bildbearbeitungsprogramm in C # und während der Erforschung Ich habe über Artikel auf beiden komme. Aber ich weiß wirklich nicht, warum ich einen über die andere wählen würde. Ich möchte schließlich die App verbessern erweiterte Funktionen einzubeziehen.

Danke.

War es hilfreich?

Lösung

Ich bin mit OpenCV für ein Projekt jetzt in der Schule, und ich durchsuchte die Dokumentation für AForge und ihre Funktion scheint zu unterscheiden. AForge bietet zahlreiche Filter und ist wahrscheinlich hervorragend für verschiedene Transformationen und Bildbearbeitung. Aber es scheint, in anderen Bereichen durchaus ein wenig fehlt. Ich konnte keine Matrix-Operationen finden, die eine Enttäuschung war, wie es so nützlich in Computer Vision. Unser aktuelles Projekt (3D-Punktwolke Rekonstruktion aus einer Bildsequenz) würde, so weit ich von der Dokumentation sehen konnte, unmöglich sein, mit AForge allein zu tun.

Kombinieren AForge mit einer guten Bibliothek für lineare Algebra und man könnte allerdings etwas wirklich nützlich ist.

Wie für OpenCV es eine reiche Funktionsumfang hat, aber ein bisschen schwierig zu programmieren mit.

Andere Tipps

Nun, warum nicht mit beiden;) ??

Ich verwende (wörtlich in C # ... lol) EMGUCV.NET (die ein OpenCV C # Wrapper) und AFORGE.NET zugleich:

AFORGE.NET plus sein „Image Processing Lab“ macht vielen Sinn für Filteroptionen (Kantenerkennung, Schwellen, usw.) und Betrachtungsfunktionen erleichtern.

OpenCV bietet den ganzen Rest wie SIFT / SURF und andere komplexere Bildverarbeitungsroutinen.

Das ist, warum Sie .NET verwenden: einfach alle Komponenten, die zusammen in einer Anwendung benötigen bringen:)

Wenn Sie möchten, dass Ihre Anwendung verbessern, mit mehr und mehr erweiterte Funktionen wie du gesagt hast, ich aber für OpenCV- gehen würde, ein Teil Ihres Erfolges von der Tatsache abhängt, dass der C # Port aktiv aktualisiert wird, die shouldn‘ t viel Ärger unter Berücksichtigung der drei Ports. Ich denke, EmguCV scheint in Bezug auf die Aktualisierung jetzt einer der besten zu sein, aber als ich sah es fehlt Dokumentation (aber Sie könnten wahrscheinlich C ++ Code in C # mit einigen C ++ Kenntnisse übersetzen). AForge scheint für mich viel einfacher, und das ist, was ich jetzt bin mit. OpenCV hat auch Unterstützung für haarcascade.xml-Dateien können Sie die Gesichtserkennung umfassen verwenden.

Also für den Final Take: beide werden gut zu Ihnen passen, OpenCV mehr ist weit verbreitet / unterstützt (obwohl die meisten Benutzer-Basis ist C ++), ist AForge einfacher. Es kommt alles auf, was Sie tun wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top