Sollte ich aufhören, OpenCV zu verwenden? [closed]

Lesezeit: 6 Minuten

Benutzer-Avatar
jelengrand

Zunächst möchte ich, dass Sie wissen, dass ich OpenCV wirklich mag. Ich benutze es schon sehr lange und ich benutze es so oft, dass ich an einer Hand abzählen kann, wie oft ich im letzten Monat in das Dokument schauen musste. Ich denke, dass dies wirklich die Art von Werkzeug ist, das Sie verwenden möchten, wenn Sie täglich mit Computer Vision arbeiten.

Ich habe jedoch das wachsende Gefühl, dass Opencv wirklich nicht für Gebrauchsanwendungen geeignet ist. Ich arbeite an Lieblingsprojekten, die so konzipiert sind, dass sie von jedem leicht installiert werden können.

Die letzte Version von OpenCV wird nicht mit Ex-Dateien ausgeliefert, und die Linux-Pakete sind so veraltet, dass ich es nicht einmal wagen würde, sie zu verwenden. Die beste Lösung ist daher in den meisten Fällen eine Kompilation. Gleiches gilt für mobile Anwendungen oder Cloud Computing (obwohl die Lösung scheinbar existiert).

Also meine Frage ist, wie geht es euch? Überall um mich herum gibt es viele auf Computer Vision basierende Anwendungen, Cloud-basiert, mobilbasiert, . . . Welche Werkzeuge verwenden Sie?

Ich würde nach etwas suchen, das für möglichst viele Plattformen verfügbar ist, aber vor allem einfach über eine Anwendung bereitgestellt werden kann!

Ich habe viel im Internet gesucht, aber immer darauf zurückgegriffen, dass OpenCV das “beste” Tool für Computer Vision ist.

Ich bin offen für so ziemlich jede Lösung/Sprache/Tool/Framework.

Vielen Dank !

  • Obwohl ich auch an OpenCV arbeite, habe ich die gleiche Art von Frage, dass, wenn ich eine Anwendung mit OpenCV über Android NDK mache, es mir anbietet, OpenCV Manager usw. herunterzuladen, um die App auf dem Handy auszuführen, es für den Kunden zu anstößig aussieht, es herunterzuladen eine App zum Ausführen einer anderen, und wenn sie statisch konfiguriert wird, wird die App viel schwerer, z. B. 13-20 MB !!

    – AHF

    19. Juli 2014 um 21:59 Uhr

Benutzer-Avatar
Karl Philipp

OpenCV ist die derzeit beste verfügbare Open-Source-Bibliothek für maschinelles Sehen.

Die Leute haben es auf mehreren Plattformen und Geräten verwendet, und ich auch.

Die einzige mir bekannte zuverlässige Möglichkeit, eine OpenCV-Anwendung zu verteilen, besteht darin, die Bibliothek selbst zu erstellen und die OpenCV-Binärdateien zusammen mit Ihrer Anwendung zu versenden.

Es gibt Tools, mit denen Sie die von Ihrer App benötigten Bibliotheken auflisten und abrufen können:

  • Bereitstellen für Linux? Überprüfen Sie diesen Beitrag
  • Bereitstellen für Windows? Überprüfen Sie dies.

  • Hallo, danke für die Hilfe! Das schaue ich mir an! Ich stimme auch mit Sicherheit für OpenCV, obwohl ich wirklich denke, dass es ein ziemliches Stück Arbeit ist, es einfach zu verteilen

    – jelengrand

    21. Mai 2012 um 19:45 Uhr

  • In der Tat, aber hauptsächlich, weil OpenCV nicht für den Endbenutzer gedacht ist.

    – Karl Philipp

    21. Mai 2012 um 19:48 Uhr

  • Daher meine Frage :). In meiner früheren Firma musste ich mich darum nie kümmern, da wir die Hardware zusammen mit der Software verschickt haben

    – jelengrand

    21. Mai 2012 um 19:49 Uhr


  • Übrigens wird OpenCV 2.5 ein aggregiertes “opencv_world”-Modul veröffentlichen, das die gesamte OpenCV-Bibliothek in einer einzigen so/dll/dylib-Datei enthalten wird. Es soll den Verteilungsprozess vereinfachen. Dieses “Modul” ist bereits im Trunk verfügbar, sodass Sie es ausprobieren können (beachten Sie nur, dass es derzeit einen experimentellen Status hat).

    – Andrey Kamaev

    21. Mai 2012 um 20:52 Uhr

  • @jlengrand Vergessen Sie nicht, dass das Erstellen eines Pakets für Ihre App in Ihrer Verantwortung liegt, und das Packen von opencv ist wirklich freundlich in Bezug auf die Entwicklung eines Auto-Installers oder eines anderen automatischen Bereitstellungstools. Es liegt nicht im Umfang von OpenCV, ein unabhängiges, automatisch installierbares Tool zu sein.

    – Sam

    22. Mai 2012 um 7:20 Uhr

Benutzer-Avatar
Jav_Rock

Ich verwende OpenCV für PC-, Linux- und Android-Telefone und -Tablets, und der effizienteste Weg, den wir gefunden haben, ist die Verwendung CMake um das Projekt zu kompilieren und zu bauen. Es ist beim ersten Mal etwas knifflig, aber dann ist es wirklich bequem, Ihr Projekt automatisch zu erstellen. OpenCV wird mit einer Datei geliefert FindOpenCV.cmake Dadurch kann cmake einen Link zu den OpenCV-Ordnern zu Ihrem Projekt finden.

Ich denke, OpenCV ist die beste Bibliothek, die Sie finden können, obwohl einige Algorithmen für ARM-Geräte wie Tablets und Telefone nicht schnell genug sind. Was wir tun, ist den vom Compiler generierten Assembler-Code zu analysieren und dann zu versuchen, die Flaschenhals-OpenCV-Funktionen zu optimieren, indem wir beispielsweise Festkomma-Arithmetik verwenden.

Ich hoffe, Sie finden das hilfreich.

  • Danke für die Information. Ich habe in der Vergangenheit bereits einige solcher Dinge für ARM-Geräte durchgeführt. Was ich wirklich vermisse, ist eine gute Dokumentation zu diesem Thema. Ich werde mir diese Dateien genauer ansehen

    – jelengrand

    22. Mai 2012 um 7:04 Uhr

Benutzer-Avatar
Mevatron

Nur um die bereits großartigen Antworten zu ergänzen. Eine kleine Zusammenfassung, warum es absolut sinnvoll ist, bei OpenCV zu bleiben:

  1. Es ist lose unter BSD lizenziert
  2. Es hat ein großes und immer noch wachsendes Entwicklungsteam
  3. Avid-Supportgruppen über StackOverflow oder Yahoo Group
  4. Preis, oder Fehlen davon 🙂

Um auch weiter darauf einzugehen, wie viel Sie mit OpenCV kostenlos bekommen, sollten Sie überlegen Ohlohs geschätzte Kosten für die 2.849.367 Codezeilen. Es würde Sie ungefähr 45 Millionen Dollar kosten, jemand anderen für die Entwicklung zu bezahlen.

Nebenbei bemerkt, wenn Sie ein schnelles Ubuntu-Paket von OpenCV benötigen, Gijs Molenaar hat einen PPA von 2,3 zur Verfügung. Ich kann mir vorstellen, dass er bald auf 2,4 kommt.

Ich stimme der anderen Botschaft zu: OpenCV ist heute die beste (und einzige …) Computer-Vision-Bibliothek.

In der Open-Source-Welt können Sie auch Scilab und Octave überprüfen, aber es ist kompliziert, eine endgültige Anwendung zu packen.

Vergessen Sie nicht, dass Sie einige gute proprietäre Bibliotheken wie Halcon von MVTech haben.

Aber ich stimme auch zu, dass openCV seine Compile-Tools/Lib usw. verbessern muss … Deshalb entscheide ich mich für meine Anwendung, openCV zu entfernen und die Funktion neu zu schreiben, die ich brauche. Ich verwende openCV nur für Prototypen.

Ich bedauere auch die Wahl von C++, Core-Image-Prozessoperatoren brauchen in den meisten Fällen nur C. Ich würde eine Bibliothek mit 2 Ebenen bevorzugen: Kern in C, obere Ebene in C++ (oder Python).

Mit bestem Gruß

Die letzte Version von OpenCV wird nicht mit Ex-Dateien ausgeliefert. Meinten Sie Binär-Installer? Nun, sie sind für einige Plattformen verfügbar und für andere nicht.

Wenn es um Leistung, Qualität und Preis (kostenlos) geht, kann keines der anderen Tools mit OpenCV mithalten. Für diejenigen, die Programmiererfahrung haben, ist die anfängliche Lernkurve kein großes Problem.

Zugegeben, OpenCV hat keine PD/MAX-ähnliche Schnittstelle, wo Leute wie Künstler schnell Prototypen erstellen können. Ich wünschte, ich hätte Zeit, daran zu arbeiten.

Benutzer-Avatar
Andreas Wagner

Sie sollten unbedingt weiterhin die kostenlose Bibliothek verwenden, von der Sie sagen, dass Sie sie lieben, für die Sie die API auswendig gelernt haben und die die Probleme löst, die Sie lösen müssen.

Eines Tages werden dich Netzwerkeffekte wahrscheinlich auf eine neue Plattform zwingen, aber bis dahin konzentriere dich auf das Erstellen!

Benutzer-Avatar
abckb

Wenn Sie die neuesten Versionen von OpenCV benötigen, können Sie eine Rolling-Release-Gnu/Linux-Distribution in Betracht ziehen. Wie Archlinux, Gentoo, Linux Mint Debian Edition (verwendet Debian Testing Repo). Natürlich haben Rolling-Release-Distributionen Nachteile gegenüber Fixed-Release-Distributionen, aber es liegt an Ihnen, die Vor- und Nachteile abzuwägen und eine auszuwählen.

Ich verwende ArchLinux. Es ist ziemlich stabil. OpenCV-Version – 2.4.9, die neueste.

1352670cookie-checkSollte ich aufhören, OpenCV zu verwenden? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy