Main Page: Difference between revisions

From EMGU
Jump to navigation Jump to search
Line 15: Line 15:
[[Emgu CV]] has two layers of wrapper as shown below
[[Emgu CV]] has two layers of wrapper as shown below
*The basic layer ('''''layer 1''''') contains [[Tutorial#Function_Mapping_-_Emgu.CV.CvInvoke | function]], [[Tutorial#Structure_Mapping_-_Emgu.CV.Mxxx | structure]] and [[Tutorial#Enumeration_Mapping_-_Emgu.CV.CvEnum | enumeration]] mapping which directly reflect those in OpenCV.
*The basic layer ('''''layer 1''''') contains [[Tutorial#Function_Mapping_-_Emgu.CV.CvInvoke | function]], [[Tutorial#Structure_Mapping_-_Emgu.CV.Mxxx | structure]] and [[Tutorial#Enumeration_Mapping_-_Emgu.CV.CvEnum | enumeration]] mapping which directly reflect those in OpenCV.
*The advance layer ('''''layer 2''''') contains class that mixed in [[Main_Page#Advantage_of_Emgu_CV | advatange]] from the .Net world.
*The second layer ('''''layer 2''''') contains class that mixed in [[Main_Page#Advantage_of_Emgu_CV | advatange]] from the .Net world.


[[Image:EmguCVArchitecture.gif ]]
[[Image:EmguCVArchitecture.gif ]]

Revision as of 15:13, 19 March 2008

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