Emgu CV is a cross platform .Net wrapper to the 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 Windows, Linux, Mac OS X, iPhone, iPad and Android devices.
- 2013-08-31 Added support to Windows 8 Store App (x86, x64) as part of Windows commercial release. Android version is now stable for commercial release.
- 2012-09-16 Emgu.CV-2.4.2 is available in sourceforge. See change log and known issues.
- 2012-05-26 Emgu.CV-2.4.0 is available in sourceforge. This version adds support for iOS and Android. See change log and known issues.
- 2011-08-20 Emgu.CV-2.3.0 is available in sourceforge. See change log and known issues.
- 2011-02-05 Emgu.CV-18.104.22.1680 is available in sourceforge. See change log and known issues.
- 2010-12-15 Emgu.CV-22.214.171.1240 is available in sourceforge. See change log and known issues.
- 2010-04-06 Emgu.CV-126.96.36.199 is available in sourceforge. It is released on the same day as OpenCV 2.1! In this release we have keep up our cross platform promise and release binaries for 64-bit windows, as well as 32 & 64 bit debian package for Unbuntu and 32 bit rpm package for Fedora 12! See change log and known issues.
- 2009-10-25 Emgu.CV-188.8.131.52 is available in sourceforge. Welcome to the first .NET wrapper that is compatible with OpenCV 2.0! See change log and known issues.
- 2009-07-12 Emgu.CV-184.108.40.206 Alpha is available in sourceforge. This version is built with OpenCV SVN 1918 and is not recommend for production environment. See change log and known issues.
A Comparison of Emgu CV Versions
|Name||Emgu CV (Open Source)||Emgu CV (Commercial Optimized)||Windows Store App *||Emgu CV for iOS (Commercial)||Emgu CV for Android (Commercial)||Emgu CV for OSX, Unix, Linux (Commercial)|
|Platform||Windows, Linux, Mac OSX||Windows||Windows 8 App Store||iOS (iPhone, IPad, IPod Touch)||Android||Mac OSX, Unix, Linux|
|Supported CPU Architecture||i386, x64||i386, x64||i386, x64||armv7, armv7a, arm64, i386 (Simulator), x64 (Simulator)||armeabi, armeabi-v7a, x86||i386, x64, arm|
|CUDA GPU Processing||X||X||X|
|OpenCL (GPU&CPU)||X||X||(on supported devices)||(if rebuild from source)|
|Intel TBB (multi-thread)||X||X||X||X||X|
|Intel C++ Compiler (fast code)||X||X||X||X||X|
|License||GPL||Commercial License||Commercial License||Commercial License||Commercial License||Commercial License|
- Windows 8 Store App version is included in the Windows Commercial release
- Windows RT is currently NOT supported
Advantage of Emgu CV
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, Mac OS X, iOS and Android. 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.
- Image class with Generic Color and Depth
- Automatic garbage collection
- XML Serializable Image
- XML Documentation and intellisense support
- The choice to either use the Image class or direct invoke functions from OpenCV
- Generic operations on image pixels
Emgu CV has two layers of wrapper as shown below
- The basic layer (layer 1) contains function, structure and enumeration mappings which directly reflect those in OpenCV.
- The second layer (layer 2) contains classes that mix in advantanges from the .NET world.