Main Page

From EMGU
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 / Solaris / Mac OS X.

Advantage of Emgu CV

Cross Platform

Unlike other wrappers such as OpenCVDotNet or SharperCV which are written in Managed C++, Emgu CV is written entirely in C#. The benifit is that it can be compiled on Mono and therefore is able to run on any platform Mono supports, be it Linux / Solaris or Mac OS X. I have spend a lot more effort to have an implementation in C# since the headers has to be ported, compares with managed C++ such that header files can simply be included. But it is well worth it once I see Emgu CV running on my Fedora 8! Plus it always give you the comfort knowing that your code is cross-platform.

Other Advantages

Architecture Overview

Emgu CV has two layers of wrapper as shown below

  • The basic layer (layer 1) contains function, structure and enumeration mapping which directly reflect those in OpenCV.
  • The second layer (layer 2) contains class that mixed in advatange from the .Net world.

File:EmguCVArchitecture.gif

Latest News

  • 2008-03-18 Nightly Build of Emgu.CV-1.2.2.0 is available, changes in this version includes
    • ToBitmap() is much faster when converting Grayscale to Bitmap. Format8bppIndexed with a custome Color Palette is used instead of Format24bppRgb . In terms of memcopy it only copy one third of data as compares with the old version. Thanks for the tips from Sebastian Kraemer.
    • More structures has been covered:
      • In Emgu.CV namespace: MCvHuMoments
    • More functions has been covered:
      • In CvInvoke class: cvSobel, cvLaplace, cvCmpS, cvGetSpatialMoment, cvGetCentralMoment, cvGetHuMoments
      • In Image class: Sobel, Laplace, Cmp function that accepts scalar
      • In Moment class: GetSpatialMoment, GetCentralMoment, CvHuMoment
    • Example of using Emgu CV in WCF to implement web service. (Both Server and Client covered).


  • 2008-03-11 Emgu CV 1.1.1.0 is released on SourceForge, changes in this version includes:
    • Added support for HLS, LAB, LUV, XYZ and YCrCb color types
    • Better documentation. Older Version (1.0.0.1 contains) 400+ missing xml documentation while newer version (1.1.1.0) has less than 40 missing xml documentation
    • Image class now has Equals function, which returns true if the two images has the same depth, color and pixel values
    • More functions exposed from OpenCV in Image and CvInvoke class
    • Various bug fixes
  • 2008-02-22 The Emgu.CV-1.0.0.1 is released on SourceForge