Frage

Ich habe es gesehen, einige von ihnen sind. opencvdotnet , SharperCV , EmguCV , < a href = "http://www.codeproject.com/KB/cs/Intel_OpenCV.aspx#install" rel = "noreferrer"> ein auf Code Project .

Hat jemand Erfahrung mit einer dieser Punkte haben? Ich spielte mit dem auf Code Project für ein bisschen, aber sobald ich versuchte, etwas kompliziert zu tun, habe ich einige unangenehme uncatchable Ausnahmen (das heißt Msgbox Ausnahmen). Cross-Plattform (unterstützt Mono) wäre am besten.

War es hilfreich?

Lösung

Ich begann mit opencvdotnet, aber es ist nicht wirklich aktiv mehr entwickelt. Weiterhin Unterstützung für die Funktion I (facedetection) erforderlich war lückenhaft. Ich verwende EmguCV jetzt: Es umschließt einen viel größeren Teil der API und der Mann dahinter ist sehr empfänglich für Anregungen und Wünsche. Der Code ist eine Freude zu sehen und ist bekannt, auf Mono zu arbeiten.

Ich habe einen schnellen schrieb up-Kurzanleitung auf meinem Blog.

Andere Tipps

Wir verwenden OpenCVSharp der Google Code Website in Japanisch, aber es nutzt die neueste OpenCV baut und impliments IDisposable im gesamten Gebäude. Es scheint mehr functioanlity als alle anderen zur Verfügung zu stellen wir bisher gesehen haben, und ist immer noch aktiv. Es hat recht umfangreich Beispiel Programme.

Ich denke, es ist wichtig zu beachten, dass die ursprüngliche Frage in gefragt wurde, 2008 und OpenCV 2.0 veröffentlicht wurde 2009 . Die Version 2.0 Release eingeführt, um einen C ++ Wrapper, die wesentlich einfacher zu handhaben ist als die ältere C-Schnittstelle, die die OP mit wurde konfrontiert. Für mein .NET-Projekt, ich verlasse die ganze Grafik Manipulation in native C ++.

Versuchen Sie folgendes: erstellen ein C ++ / CLR-DLL-Projekt, das auf die OpenCV-Bibliotheken verknüpft. Das OpenCV Handbuch beschreibt, wie dies zu tun für eine Windows C ++ EXE, die gleichen Schritte arbeiten auch für einen C ++ / CLR-DLL. Dann natürlich die DLL exportiert Methoden, die aus einer .NET-EXE aufrufbar sind.

Um es zu testen, sollten Sie in der Lage sein, eine der OpenCV Proben in der DLL mit einem wenig Feintuning zu integrieren. (Fügen Sie die CPP-Datei zu einem Projekt, konvertieren Sie die Funktion main () zu einer Klasse Mitglied, usw. - Sie kennen die ...). Ein guter Test Kandidat könnte die „mat_mask_operations“ sample

OpenCV.NET ist von NuGet verfügbar

https://bitbucket.org/horizongir/opencv.net

https://www.nuget.org/packages/OpenCV.Net

Hier ist eine Liste von Funktionen, von der Projektseite:

  

OpenCV.NET ist eine .NET-Schnittstelle für die OpenCV Computer Vision und Bild   Verarbeitungsbibliothek. Diese Bindungen wurden entwickelt   im Laufe von einem Jahr und enthalten viele Funktionen, die gewesen sind   fehlt aus anderen Versuchen, nämlich:

     
      
  • Cross-Plattform Mono-Kompatibilität (nur P / Invoke verwendet wird)
  •   
  • Sehr nahe 100% Unterstützung des neuesten C-API (einschließlich undokumentierte Funktionen)
  •   
  • Die vollständige Dokumentation / Intellisense für alle unterstützten Methoden, Klassen und Enum-Mitglieder (arduously aus vielen verschiedenen Quellen gewonnen)
  •   
  • Unterstützung für Ausnahmen
  •   
  • Garbage-Collector-freundlich:      
        
    • GC ist sich der tatsächliche Speicher durch Matrizen und Bilder verwendet,
    •   
    • Pointers sind garantiert Funktion aufruft, auch wenn die gleichzeitige Garbage Collection geschieht
    • , um zu überleben   
  •   
  • Objektmodell folgende C ++ API so weit wie möglich (auf zukünftige Unterstützung von C ++ API erhöht)
  •   
  • BSD-Lizenz (MIT)
  •   

Ich denke, am besten Wrapper ist opencvsharp http://code.google.com/p/opencvsharp/

Ich habe ein NuGet Paket zu leicht zu machen, mit OpenCV in C # zu starten, mit EmguCV.

Überprüfen Sie es heraus! In Visual Studio suchen und fügen Sie das myEmguCV.Net NuGet Paket.

https://www.nuget.org/packages/myEmguCV.Net

SharperCV war unser Werkzeug der Wahl, und es hat uns nicht enttäuscht, denn unsere Robotik Projekt . Auch wenn es zur Zeit als aufgegeben markiert ist, ist der Code in wirklich guter Form, erfordert nur geringen Tweaking es für Ihren Bedarf anpassen. Keine MsgBoxes, und eigentlich sehr gesund Ausnahmebehandlung.

Nicht plattformübergreifende, wenn auch aufgrund der Interoperabilitätsschicht.

Ich weiß, diese Frage für eine lange Zeit beantwortet wurde, aber ich möchte hinzufügen, dass es eine sehr gute Wrapper hier . Dies ist die neue Version des OpenCV-Wrapper, die Sie auf Code Projekt . Ich habe es für ein paar Tage versucht und alles funktioniert perfekt. Auch ich habe es in nur wenigen Minuten zu arbeiten.

Ich weiß nicht, für die Kompatibilität mit Mono aber unter Visual Studio 2010, es funktioniert wie ein Charme und habe mich gerettet ton Zeit und Geld (mein Projekt ist kommerziell und die größte Teil der Bibliothek ist Open Source mit Lizenz, die ‚doesn t kommerzielle Nutzung erlauben, es sei denn, den Code zu veröffentlichen)

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