Main Page

From Emgu CV: OpenCV in .NET (C#, VB, C++ and more)
Jump to navigation Jump to search

Emgu CV is a cross platform .Net wrapper to the Intel OpenCV image processing library. Allowing OpenCV functions to be called from .NET compatible languages such as C#, VB, VC++, IronPython etc. The wrapper can be compiled in Mono and run on Linux / Mac OS X.

Latest News

A Comparison of OpenCV Wrappers

Name Emgu CV (Commercial) Emgu CV (Open Source) OpenCVSharp OpenCVDotNet SharperCV Code Project
OpenCV 2.2 X X X
GPU Processing X X X X
Machine Learning X X
Intel TBB (multi-thread) X X X X X
Intel IPP (high performance) X X X X X
Intel C++ Compiler (fast code) X X X X X
Exception Handling X X X
Debugger Visualizer X X
License Commercial License GPL LGPL Non-commercial
GPL
Non-commercial
Academic use
Non-commercial
RPM release for Fedora X X X X
Debian release for Ubuntu X X X X
Actively Maintained X X X X

"Actively Maintained" refers to update within one year.

Advantage of Emgu CV

Cross Platform

Unlike other wrappers such as OpenCVDotNet, SharperCV or Code Project which use unsafe code, Emgu CV is written entirely in C#. The benefit is that it can be compiled in Mono and therefore is able to run on any platform Mono supports, including Linux, Solaris and Mac OS X. A lot of efforts has been spend to have a pure C# implementation since the headers have to be ported, compared with managed C++ implementation where header files can simply be included. But it is well worth it if you see Emgu CV running on Fedora 10! Plus it always gives you the comfort knowing that your code is cross-platform.

Cross Language and comes with example code

Emgu CV can be used from several different languages, including C#, VB.NET, C++ and IronPython. On this wiki, we provide examples for all those languages, which are available from the Examples section on Tutorial page. Our Discussion Forum is also available if you have any questions related to your favourite programming language.

Other Advantages

Architecture Overview

Emgu CV has two layers of wrapper as shown below

EmguCVArchitecture.png