In diesem Beitrag wird beispielhaft gezeigt wie der EmguCV für C# in Visual Studio eingebunden werden kann, um die Methoden des Frameworks nutzen zu können.


EmguCV

EmguCV ist ein plattformübergreifender .NET Wrapper mit dem OpenCV Funktionen in .Net kompatiblen Sprachen (C#, VB, VC++ und Iron Phyton) verwendet werden können. Als Basis ist dafür OpenCV verwendet worden. Es ist eine freie Programmbibliothek, die in C/C++ entwickelt worden ist und unter der BSD-Lizenz steht und deshalb für akademische und kommerzielle Zwecke genutzt werden darf. OpenCV steht für Open Source Computer Vision und beschäftigt sich primär mit Bildverarbeitung und Objekterkennung. OpenCV hat C++, C, Python and Java Schnittstellen und unterstützt die Betriebssysteme Windows,Linux, Mac OS, iOS und Android.

Im Folgenden wird ein einfaches Projekt unter Windows 10 erstellt womit ein Bild angezeigt werden soll.

Dazu wurden folgende Versionen verwendet:

  • libemgucv-windesktop-3.4.1.2976
  • Microsoft Visual Studio Community 2017 Version 15.6.7

 


EmguCV installieren

Zunächst muss EmguCV von beispielsweise SourceForge aus dem Netz bezogen werden. Im Anschluss muss es in einem Verzeichnis installiert werden.

Quelle: Eigene Darstellung Installation von EmguCV

Während der Installation fragt der Installer nach, ob der Debugger Visualizer für Visual Studio 2017 installiert werden soll. Bitte mit Ja bestätigen.

Quelle: Eigene Darstellung MessageBox: Debugger Visualizer für Visual Studio 2017

 


Projekt mit EmguCV erstellen

In Visual Studio muss als Projekt eine Konsolenapplikation erstellt werden. Der Projektname ist dabei frei wählbar.

Quelle: Eigene Darstellung Projekt erstellen

Im nächsten Schritt müssen die Referenzen zu dem Projekt hinzugefügt werden.

Menüleiste -> Project -> Add Reference… -> Browse… -> Pfad zu Emgu\EMGU_VERSION\bing -> Emgu.CV.UI.dll und Emgu.CV.World.dll selektieren -> Add

Quelle: Eigene Darstellung Referenzen Manager öffnen

In dem Dialogfenster wählt der Benutzer die Emgu.CV.UI.dll und Emgu.CV.World.dll aus, die zu den Referenzen hinzugefügt werden.

Quelle: Eigene Darstellung Referenzen hinzufügen

Nachdem dem die Referenzen hinzugefügt worden sind, muss dem Projekt der Libs-Ordner hinzugefügt werden.

Menüliste -> Project -> Add Existing Item… -> Emgu\emgucv-windesktop 3.4.1.2976\libs\x64

Quelle: Eigene Darstellung Lib-Ordner zum Projekt hinzufügen

Im Anschluss müssen alle Dateien im Solution Explorer selektiert werden und durch einen Rechts-Klick die Eigenschaften (Properties) angezeigt werden. Bei der Einstellung Copy to Output Director muss Copy always selektiert werden.

Quelle: Eigene Darstellung Lib-Dateien jedesmal in das Output Directory kopieren

Abschließend muss die Architektur zum Kompilieren angepasst werden.

Menüleiste -> Build -> Configuration Manager -> Platform -> x64

Quelle: Eigene Darstellung Architektur vom Kompilier auf x64 ändern

 


Beispiel

Mit einem Beispiel kann überprüft werden, ob das Einbinden von dem Framwork erfolgreich ist. Der folgende Quellcode wird zu der Datei Program.cs hinzugefügt und im Anschluss ausgeführt. Mit dem Anzeigen von dem Testbild ist das korrekte einbinden des Framworks bestätigt worden. Somit hat Visual Studio die Referenzen und Bibliotheken richtig eingebunden.

 

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using System.Threading.Tasks;    using Emgu;  using Emgu.CV;  using Emgu.CV.Structure;      namespace tutorial1  {      class Program      {          static void Main(string[] args)          {              // Change path to test image              string fileName = "d:\\test.jpg";                Image<Bgr, byte> imf = new Image<Bgr, byte>(fileName);              CvInvoke.Imshow("Image", imf);                CvInvoke.WaitKey(0);          }      }  }  

  


 Quellen:

[1] https://sourceforge.net/projects/emgucv/

[2] https://github.com/emgucv

[3] http://www.emgu.com/wiki/index.php/Main_Page

[4] Bildverarbeitung mit OpenCV, Johannes Wienke, Mai 2018, Universität Bielefeld

[5] https://www.youtube.com/watch?v=8PoonbKW7YI

[6] Logo von http://peritossolutions.com/border-detection-image-processing/

Suche

Kategorien

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.