Version History

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

Emgu.CV-3.0.0-alpha

Online Documentation

Browse

Change Log

Enhancements

Emgu.CV-2.4.10

Online Documentation

Browse

Change Log

Enhancements

  • Base on Open CV 2.4.10 release

Emgu.CV-2.4.9 Beta

Bug Fixes

Enhancements

  • Added support for Windows Store App
  • Fixed bugs in Android version. Android release is now out of beta
  • OpenCL module and lots of functions added in this module.
  • updated opencv to the latest GIT version
  • More color conversion type supported
  • Added LevMarqSparse bundle adjustment
  • Added CvInvoke.cvChamferMatching
  • Added cvFastNlMeanDenoising
  • Added CLAHE
  • Make cvFilter2D to support border type
  • Added Dual TV L1 Optical Flow
  • Added CvEstimateAffine3D
  • Added GpuVibe and GpuMOG2
  • Added CvInvoke.cvMinMaxIdx
  • Added CvInvoke.cvDecodeImage

Emgu.CV-2.4.9 Alpha

Bug Fixes

  • Fixed a bug in 2.4.2 where there the gpu build have a dependency on NVidia graphic card driver. This is a problem of Open CV 2.4.2 release. The 2.4.9 GPU build no longer required the present of NVidia graphic card driver on client machine
  • Fixed Bug 67. Fixed GpuInvoke.MatchTemplate & GpuInvoke.MinMaxLoc.
  • Fixed a bug in tesseract ocr whitelist.

Enhancements

  • Universal packing that combines both x86 and x64 binary in one package
  • updated opencv to the latest GIT version
  • Added BOWImageDescriptorExtractor, BOWKMeansTrainer
  • Added Brisk
  • Added armv7s and removed armeabi support for iOS.
  • Android and iOS enhancements.

Emgu.CV-2.4.2

Online Documentation

Browse

Change Log

Bug Fixes

  • Fixed Bug 60 & Bug 61. Fixed GpuInvoke.MatchTemplate & GpuInvoke.MinMaxLoc.
  • Fixed dependency issues in Ubuntu package.

Enhancements

  • Added OSX package in release build
  • Added VideoStab module
  • Merge the cvexten_gpu unmanaged module to cvextern module
  • Added CascadeClassifier class
  • Added GpuMatchTemplateBuf class
  • Added Added EigenFaceRecognier, FisherFaceRecognizer and LBPHFaceRecognizer class
  • Added CvInvoke.ApplyColorMap function.
  • More color conversion code.
  • Added CvInvoke.cvRectangleR function.
  • Added sparse optical flow to GpuPyrLKOpticalFlow.
  • Added DenseFeatureDetector, GFTTDetector, OpponentColorDescriptorExtractor.
  • Added Freak descriptor extractor.
  • Use OpenTK for Simple3DReconstruction in Emgu CV example

Android

  • Added x86 support for Android.

Known Issues

  • On Android, Open CV's drawing functions will crash. Please use Android's drawing functions instead.

Emgu.CV-2.4.0

Online Documentation

Browse

Change Log

  • Added commercial iOS version for iPhone and iPad
  • Added Android beta version for public testing
  • Added Emgu.CV.ML.GBTrees
  • Added BackgroundSubtractorMOG, BackgroundSubtractorMOG2
  • Retina model
  • BroxOpticalFlow
  • Added CvBlob library
  • More color conversion code. Added CV_INTER_LANCZOS4 interpolation type
  • Event based Capture class
  • Added ORBDetector
  • Added Opponent SIFT, Opponent Brief functions
  • Added Features2DToolbox.DrawKeypoints function
  • Gpu components are built with CUDA 4.2
  • More class in Emgu.CV.GPU:
    • TargetArchs
    • GpuFarnebackOpticalFlow
    • GpuGoodFeaturesToTrackDetector
    • GpuPyrLKOpticalFlow
    • Stitcher for image stitching
  • Renamed GpuDevice to GpuDeviceInfo.
  • More functions in Emgu.CV.Gpu.GpuInvoke class including:AddWeighted, Pow, Gemm, Reduce, Rotate, CopyMakeBorder, SetDevice, MorphologyEx, GpuMatResize, GpuMatReshape, Canny
  • Added stream support for many functions in Emgu.CV.GPU including: GpuInvoke.Remap, GpuBruteForceMatcher.KnnSingleMatch, etc.
  • Added GpuHOGDescriptor.GetPeopleDetector48x96.
  • Updated Gpu morphology operation to match latest opencv code.
  • More parameters for GpuInvoke.Remap function.

Emgu.CV-2.3.0

Online Documentation

Browse

Change Log

  • Added Emgu.CV.OCR using tesseract 3.0
  • More functions in Emgu.CV.GPU including
    • Build with CUDA 4.0
    • Added GpuCascadeClassifier for face detection using GPU
    • Added GpuSURFDetector for SURF using GPU
    • Added GpuBruteForceMatcher
    • Added GpuDisparityBilateralFilter
    • And too many to be listed.
  • Added LatentSvmDetector
  • Added CvInvoke.Solve, CvInvoke.cvEstimateRigidTransform functions
  • Added BriefDescriptorExtractor
  • Added SURFDetector.ComputeDescriptorsRaw(Image<Bgr, Byte> image, VectorOfKeyPoint keyPoints) function to computer SURF descriptors using Opponent Color.
  • Modified FindChessboardCorners such that if no corners is found, null is returned. Modified DrawChessboardCorners to accommodate the change.
  • Improved Feature2DTracker
  • Added adaptive threshold as an exposable object in the ImageBox.
  • Fix POSIT's PInvoke module: It should be Calib3d instead of Imgproc
  • Added support for ImageBox to display GpuImage.
  • Added GridAdaptedFeatureDetector
  • Added BruteForceMatcher
  • Added KinectCapture class. (Only supported in the emgucv package that is build with openni)

Emgu.CV-2.2.1

Online Documentation

Browse

Change Log

  • The commercial version is built with Intel Composer XE 2011, IPP 7.0 for optimal performance. It is also built with the commercial version of TBB for multi-threading support.
  • Beta support of GPU processing is included in Emgu.CV.GPU project. (Note: API might be changed in the next version as this is currently under heavy development)
  • Pedestrian Detection Example will use GPU if a compatible device is detected in the running system.
  • Build with OpenCV 2.2 branch rev. 4644
  • This version is compiled with VS2008 (The GPU module can only be compiled with VS2008). You will needs to install MSVCRT 9.0 SP1 for dependency, the windows installer will do this for you automatically. If you download the zip file, you need to run the redistributable included in the package.

Emgu.CV-2.2.0.0

Online Documentation

Browse

Change Log

Bug Fixes

  • Fixed Bug 11: Image<TColor, TDepth>._MorphologyEx and MorphologyEx exists a bug of ArgumentNullException
  • Fixed Bug 12: Miss finding contours functions step by step
  • Fixed Bug 14: Wrong cvCalibrateCamera2 DllImport declaration causes FPU stack overflow
  • Fixed Bug 15: Wrong DllImport prototype for cvUndistort2 leads to asserts in OpenCV
  • Fixed Bug 21: Expose HOGDescriptor's compute function to further feed into learning algorithms
  • Fixed Bug 23: Change the calling convention of all Pinvoke calls to CallingConvention.CDEL
  • Fixed Bug 30: (for MCvKalman structure) multiple kinds of members with same name
  • Fixed the signature for cvProjectPoints2, cvStereoCalibrate, cvStereoRectifyUncalibrate and cvStereoRectify.
  • Fixed the signature for CvInvoke.cvStartReadSeq.
  • Fixed a memory leak in DenseHistogram class.

Enhancements

  • Added support for Visual Studio 2010
  • Added CvGaussBGStatModel. Thanks to jacovdm.
  • Added Features2D namespace for feature detectors.
    • Moved all feature detectors to the Features2D namespace.
    • Added SIFTDetector.
    • Added FastDetector.
    • Added Features2DTracker as a more generic replacement for SURFTracker.
    • Renamed MCvSurfParams to SURFDetector.
  • Added Emgu.Tiff namespace for writing Geotiff and tile-tiff.
  • Eliminated the dependency on zlib.net. Use the unmanaged zlib in OpenCV for compression and decompression.
  • Added Quaternions rotation implementation
  • Added support for fast conversion from Format32bppRgb to Image<,> class
  • Added Check range function for CvArray
  • Added Flann.Index3D for indexing 3D points
  • Added two QT related fields for MCvFont to match OpenCV svn
  • Wrapped CvInvoke.cvPyrMeanShiftFiltering function
  • Changed the RTreeClassifier.Train function signature to match OpenCV svn
  • Use BufferedStream to improve the performance of BinaryFileStorage
  • Updated IntrinsicCameraParameters to support 8 distortion coefficient.
  • Added DataLogger class for unmanaged code (C/ C++) to log data / message back to managed code via callback.

Emgu.CV-2.1.0.0

Online Documentation

Browse

Change Log

  • Updated to use OpenCV 2.1
  • Configured CMake to build Rpm package on Fedora
  • Configured CMake to build Debian package on Ubuntu
  • Added StereoSGBM class
  • Added GrabCut in Image<,> and CvInvoke class
  • Added cvEigenVV function to CvInvoke class
  • Added Parameters property in SVM class
  • Added auto-tuned Index and radius search in Flann.Index class
  • Added DetectFeature and ComputeDescriptor function in MCvSURFParams
  • Added filter in ImageViewer when image save dialog is opened
  • Added FAST_CHECK enumeration to CALIB_CB_TYPR for CvInvoke.cvFindChessboardCorners
  • Added Quaternions structure for 3D rotation
  • Added Cuboid class to define a 3D region
  • Added GeodeticCoordinate structure to represent Latitude, Longitude and Altitude
  • Added TransformationWGS84 to transform GeodeticCoordinate to local coordinate and back
  • Added SparseMatrix
  • Added more functions in MCvPoint3D64f structure
  • Added cvCvtPixToPlane in CvInvoke class
  • Fixed a bug in cvMulTransposed function signature
  • Fixed a bug in HOGDescriptor's detectMultiScale function when no object is detected
  • Fixed a bug in Farneback optical flow
  • Fixed a bug in AdaptiveSkinDetector.Process function
  • Fixed a bug in BlobTracker constructor when using BLOBTRACKER_TYPE.CC, thanks to jaco
  • Fixed run-time serialization bug on Image<,> class when ROI is specified
  • Fixed the save image bug, where Bitmap.Save(String filename) always results in saving to PNG format, regardless of the filename extension.
  • Capture class can now accept URL for network streaming. Fixed Bug 6, thanks to Christian Richardt.
  • Fixed a bug in DenseHistogram.BackProjectPatch & CvInvoke.cvCalcBackProjectPatch function. See Bug 7 and Bug 8, thanks to xrwang.

Known Issues

  • Emgu.CV.VideoSurveillance.BGCodeBookModel is broken, not sure if this is bug in Emgu or OpenCV, any help on fixing this is welcome.
  • Emgu.CV.VideoSurveillance.BGStatModel<Bgr>'s constructor with Emgu.CV.CvEnum.BG_STAT_TYPE.GAUSSIAN_BG_MODEL is failing. There is a bug in OpenCV 2.1, it has been reported and fixed in current OpenCV svn.

Emgu.CV-2.0.1.0

Online Documentation

Browse

Change Log

  • Based on OpenCV 2.0
  • Added Octree class and HOGDescriptor (Histogram-of-Oriented-Gradients) class
  • Added Flann.Index for fast approximate nearest neighbors.
  • Added FAST corner detector
  • Added LePetit key point detector
  • Rename MCvStarDetectorParams to StarDetector
  • Added OpticalFlow.Farneback and CvInvoke.CvCalcOpticalFlowFarneback function
  • Added cvInRange function in CvInvoke class; InRange(Image<TColor, TDepth> lower, Image<TColor, TDepth> higher) function in Image class;
  • Added cvGetNormalizedCentralMoment in CvInvoke class; GetNormalizedCentralMoment function in MCvMoments structure
  • Added cvLinearPolar in CvInvoke class
  • Make Map<,> class runtime serializable. This enable Debugger Visualizer for Map<,> as well.
  • Fixed a bug in InPaint function
  • Fixed a bug in Image<TColor, TDepth>.SmoothBilatral, bug 5. Thanks to Brendan Tompkins
  • Fixed a bug in concate horizontal. Thanks to Luca

Emgu.CV-2.0.0.0 Alpha

This is the alpha release of Emgu CV 2.0 build with OpenCV SVN rev 1918, available from Sourceforge. It is a preview of what the final version of Emgu CV 2.0 will be and is not recommended for production environment. The OpenCV Dlls included in this build are compiled with VS2008. You will needs to install MSVCRT 9.0 SP1 for dependency.

Online Documentation

Browse

Change Log

  • Emgu CV 2.0 requires .NET 3.5.
  • The included OpenCV dlls are built with Visual Studio 2008 and requires MSVCRT 9.0 SP1
  • A feature rich ImageBox with Pan and Zoom support.
  • Added Debugger Visualizer for Image, Matrix MatDN and DenseHistogram for Visual Studio 2005/2008
  • Adapt CMake as the build system for Linux, it is also used to build unmanaged code on windows.
  • Fixed a marshaling error in MCvBoostParams, MCvDTreeParams and MCvRTParams structures. The following class finally works in 2.0.0.0 release: Boost Tree, Decision Tree and Random Tree.
  • Fixed a bug in cvReduce function
  • Feature Tree can now be constructed either as Spill-Tree or K-d Tree
  • Histogram class is obsolete, it is replaced by DenseHistogram class, which
    • is runtime-serializable
    • can be calculated from Matrix.
    • can be visualized by a Debugger Visualizer
  • The following classes are new in v2.0
    • ERTrees (Extreme Random Trees)
    • HomographyMatrix
    • SURFTracker
  • The following class are now runtime-serializable
    • RotationVector3D
    • ExtrinsicCameraParameters
    • MatND
  • Improvements to Image class.
    • Added _GammaCorrect function
    • Added ExtractMSER (Maximally stable extremal regions) function
    • Make _EqualizeHist() work for color image as well: For color images, a HSV representation of the image is first obtained and the V (value) channel is histogram equalized.
  • Added GetConvexityDefacts(MemStorage, ORIENTATION) function in Seq<T> class.
  • Improved performance when retrieving Voroni-facets in PlanarSubdivision class.
  • Improved performance for the Rotate function in Image class when crop is false.
  • Removed WindowForm example and OCR example. Added VideoSurveillance, License Plate Recognition and Traffic Sign Recognition example.
  • Add cvCalcEMD2 function in CvInvoke class, thanks to yoavhacohen.
  • More functions wrapped in CvInvoke class.

Emgu.CV-1.5.0.1

Available from Sourceforge.

Change Log

  • Fixed a bug in cvThreshold's return type. Thanks to Albert G.

Emgu.CV-1.5.0.0

Online Documentation

Browse

Change Log

  • The following changes requires refracting. To upgrade from 1.4.0.0 to 1.5.0.0 please see Emgu CV 1.5 Upgrade Instructions:
    • Some classes and structures are refracted, which includes:
      • Generic Point class, MCvPoint and MCvPoint2D32F structure becomes System.Drawing.Point and System.Drawing.PointF structure
      • MCvSize structure becomes System.Drawing.Size
      • Generic Rectangle class becomes System.Drawing.Rectangle structure.
      • Generic Line, LineSegment, Circle becomes its corresponding none generic structure.
    • Managed OpenCV structures (MCv***) and color structures moved to the Emgu.CV.Structure namespace. This change requires existing code to include Emgu.CV.Structure namespace.
  • The same managed dlls (Emgu.CV.dll, Emgu.Util.dll, Emgu.CV.ML.dll, Emgu.CV.UI.dll) can be used on BOTH Windows and Linux. On Linux, you will need to include the corresponding .config file for Mono to handle the PInvoke mapping.
  • Beta version of Machine Learning library wrapped in Emgu.CV.ML namespace. Machine learning algorithms wrapped includes:
  • Added VideoSurveillance namespace, which wrap OpenCV's Blob Tracking algorithms.
  • Support for multi-channel Matrix
  • Performance improvement for Seq<T>.ToArray() function
  • Performance improvement for CameraCalibration class.
  • Performance improvement for PlanarSubdivision class. On a development machine, v1.4 requires 600 millisecond to retrieve all the Delaunay's triangles for 3000 points while v1.5 needs only 19 millisecond. A 31 times performance improvement.
  • Added Simple 3D reconstruction example which extract disparity map from stereo image pair, and display the textured 3D point-cloud using Tao.GL
  • Added an OCR (a.k.a. Text Recognition) example using tessnet2
  • SURF feature example uses Feature Tree to speed up the computation.
  • Fixed a bug in CameraCalibration.CalibrateCamera function
  • More functions wrapped in CvInvoke class

Known Issues

  • OpenCV 1.1pre for windows is built on VS2005. You will need to install MSVCRT 8.0 SP1 available from

this page

  • OpenCV 1.1pre has an issue with writing videos files. If you need to write video you have to rebuild the binary following instructions from this page (You will need an Yahoo ID to view it)
  • There is a bug on gmcs compiler version 2.0. If you need to build Emgu CV on *inux. Please use gmcs 1.9.1 or version >= 2.2. (The compiled code can be run on any Mono runtime version >= 1.9.1)

Emgu.CV-1.4.0.0

Online Documentation

Browse

Change Log

  • Support for OpenCV version 1.1
  • Emgu.CV.UI namespace is now in its separate assembly (instead of the Emgu.CV assembly).
  • Better ImageBox
    • ImageBox now inherits from PictureBox instead of Control. This change allow developer to easily bind Event (e.g. MouseClick event) to the ImageBox from visual studio designer.
    • Improved histogram display for multi-channel image
    • Applying image operation using the right-click menu is more stable. If invalid parameters are specified for some operations, error message will be displayed instead of an application crash.
  • Improved performance when converting 1pbbIndexed and 8bppIndexed Bitmap to Image class
  • For .bmp and .tiff (.tif) file type, the Image class constructor by default first load them as Bitmap then convert to Image. This is necessary since the OpenCV cvLoadImage function is quite buggy when loading these image formats.
  • More depth types are supported for both the Image class and Matrix class
  • Improved PlannarSubdivision class
    • Better performance when retrieving triangles and Voroni-facets (Thanks to Albert G for the suggestion)
    • Added the Locate function
  • Added OpticalFlow class
  • Added example for face detection in VB.
  • Fix a bug in the PInvoke signature of CvInvoke.cvCalcOpticalFlowPyrLK
  • Fix a bug in CvInvoke.cvSubS function
  • Fix a bug in CvInvoke.cvInvert DllImport attribute
  • More functions mapped to CvInvoke class

Known Issues

  • OpenCV 1.1pre for windows is built on VS2005. You will need to install MSVCRT 8.0 SP1 available from

this page

  • OpenCV 1.1pre has an issue with writing videos files. If you need to write video you have to rebuild the binary following instructions from this page (You will need an Yahoo ID to view it)
  • There is a bug on gmcs compiler version >= 2.0. If you need to build Emgu CV on *inux. Please use gmcs 1.9.1 instead. (The compiled code can be run on any Mono runtime version >= 1.9.1)

Emgu.CV-1.3.0.0

Online Documentation

Browse

Change Log

  • Added Bgra color type
  • In Image class, added SByte for depth type.
  • Improved ImageBox functionality
  • Improved Histogram class
  • It is now possible to create Image<,> object from any type of Bitmap
  • Support for reading image from ".gif" and ".exig" file
  • Added MotionHistory class and Motion Detection Example
  • Added EigenObjectRecognizer class for PCA base object recognition
  • Added PlannarSubdivision class, which can be used for Delaunay's Triangulation and Voronoi's Diagram. Added PlanarSubdivision example.
  • Fix a bug in MCvConnectedComponent structure
  • Bug fixes in CvInvoke.cvCreateVideoWriter and CvInvoke.cvFloodFill function call
  • Many more functions added to CvInvoke class
  • Many more structures wrapped in Emgu CV
  • The released assemblies are now strong signed.
  • Starting from this version of Emgu CV, ImageBox uses ZedGraph to display color histogram. If ImageBox is never used in your project, you can remove it from the dependency.

Emgu.CV-1.2.2.0

Change Log

  • ImageBox Control
  • Better exception handling
  • Operators Overload
  • Can be compiled by Monodevelop
  • Support of Double as image depth
  • Bitmap get property added as a high performance alternative to ToBitmap() function
    • Note: Bitmap get property differs from ToBitmap() 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
  • Performance improvement on ToBitmap() function. When converting Grayscale to Bitmap, use Format8bppIndexed and a custom 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).
  • More structure wrapped
  • More functions has been covered
  • Fix a bug in Circle such that it can be properly XML serialized
  • Thanks Albert Gordo for the advises and contribution of patches