Main Page
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
- Image class with Generic Color and Depth
- Automatic garbage collection
- Generic operations on image pixels
- XML Serializable Image
- XML Documentation and intellisense support
- The choice to either use the Image class or directly invoke functions from OpenCV
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.
Latest News
- 2008-05-5 Emgu.CV-1.2.2.0 is available in SVN, changes in this version includes
AsBitmap()
function added as a high performance alternative toToBitmap()
function- Note:
AsBitmap()
differs fromToBitmap()
such that when dealing with Image<Gray, Byte> and Image<Bgr, Byte>, the image data is shared with Bitmap. Take extra caution not to use the Bitmap after the Image is disposed
- Note:
- Performance improvement on
ToBitmap()
function. When converting Grayscale to Bitmap, use Format8bppIndexed and a custome Color Palette instead of Format24bppRgb in version 1.1.1.0. In terms of memcopy it only copy one third of data as compares with the old version. Thanks for the tips from Sebastian Kraemer. - Better performance on the Width and Height properties.
- Example of using Emgu CV in WCF to implement web service. (Both Server and Client covered).
- Example of Hugh Line and circle detection
- More structure wrapped
- More functions has been covered
- Fix a bug in Circle that prevent it from being properly XML serialized