Difference between revisions of "Version History"

From Emgu CV: OpenCV in .NET (C#, VB, C++ and more)
Jump to: navigation, search
m
(Change Log)
(113 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Emgu.CV-2.4.0==
+
==Emgu.CV-4.4.0==
This version is available from SVN only
+
===Online Documentation===
 +
[{{SERVER}}/wiki/files/4.4.0/document/index.html Browse]
 +
 
 
===Change Log===
 
===Change Log===
* Added Emgu.CV.ML.GBTrees.
+
* 4.4.0 is based on the Open CV 4.4.0 release.
* Added BackgroundSubtractorMOG, BackgroundSubtractorMOG2.
+
* The standard license terms has been change to dual license from GPL. See it here: https://github.com/emgucv/emgucv/blob/master/LICENSE The change is to allow commercial license owners to use our regular open source build and the nuget packages from nuget.org.
* Retina model
+
* Change in nuget packages:
* BroxOpticalFlow
+
** Both commercial and open source nuget package now use the Emgu.CV nuget package from nuget.org. The commercial release provide runtime nuget packages that are built with OpenVino and have IPP and CPU dispatch enabled.
* Added CvBlob library
+
** No longer append "-CR" to commercial nuget package. Add "dldt" to nuget package compiled with openvino. This is to make clear what was in the commercial release and matches the Open CV package naming scheme (such as opencv-4.4.0-dldt-2020.4-vc16-avx2.zip). For example, the Emgu.CV.windows.runtime-CR package in v4.3 has been renamed to Emgu.CV.windows.runtime.dldt in v4.4. The Emgu.CV.windows.runtime.cuda-CR package in v4.3 has been renamed to Emgu.CV.windows.runtime.cuda.dldt in v4.4.
* More color conversion code. Added CV_INTER_LANCZOS4 interpolation type
+
** Added Emgu.CV.Bitmap nuget package that contains the conversion code from Emgu CV images to Bitmap. This package targets .NetStandard platform. If you are running on Linux / Mac OS platform, you will need to make sure native GDI+ is installed in your system, or it will failed on dependency when Bitmap is used.
* Event based Capture class
+
** Added Emgu.CV.UI nuget package. This package contains Emgu.CV.Platform.NetFramework.dll and Emgu.CV.Platform.NetCore.dll originally contained in Emgu.CV nuget pacakge in v4.3. These two dlls are only compatible with Windows platform.
* Added ORBDetector
+
** Emgu.CV nuget package now only targets .NetStandard platform.
* Added Opponent SIFT, Opponent Brief functions
+
** Split up Emgu.CV.runtime.cuda.dnn nuget packages into 3: Emgu.CV.runtime.cuda.dnn.cnn, Emgu.CV.runtime.cuda.dnn.ops & Emgu.CV.runtime.cuda.dnn. No changes is needed on the user side, the dependency resolution will be handled automatically by nuget package manager.
* Added Features2DToolbox.DrawKeypoints function
+
* The 64-bit commercial binary for Windows is compiled with Intel Inference Engine backend v2020.4 (instead of v2020.3 in the v4.3 release)
 +
* Enable IPP and CPU dispatch for windows commercial build.
 +
* For Android runtime, in v4.3 we switched to from Open CV's custom toolchain to the android toolchain from NDK. There is a bug in Android NDK that enabled debug symbols even in release built. As a result, the Android binary is ~6 times larger. We have updated our build flags to force to exclude the debug symbols in release built. In v4.4, the android binary size are back to the v4.2 level.
 +
* 4.4.0 release is build with Tesseract 4.1.1
 +
* GPU release is build with CUDA 11.0 instead of CUDA 10
 +
* Added Intensity Transform module
 +
* Added Rapid module
 +
* Added eigen3 submodule to build alphamat on windows and android.
 +
* Enable saliency module for Android.
 +
* Re-enable CudaCascadeClassifier class.
 +
* Enable building DynamicImage.Asp.NetCore project on Linux, Mac and Raspbian.
 +
* Added HelloWorld.UWP project for UWP build.
 +
* Added CvInvoke.ScaleAdd function.
 +
* Added build script for Ubuntu 20.04
 +
* VideoCapture.Read function now return bool instead of void.
 +
* Updated XamarinForms.WPF to base on .NetCore instead of .Net Framework 4.7
 +
* Updated WPF demo project to base on .NetCore instead of .Net Framework 4.6.1
 +
* Change DnnInvoke.GetAvailableBackends() to property DnnInvoke.AvailableBackends
 +
* Moved SIFT from XFeatures2D to Features2D namespace
 +
* VideoCapture.Run function use Emgu.Util.ExceptionHandler instead of System.ServiceModel.Dispatcher.ExceptionHandler.
 +
* The License Plate detection demo now use DNN with OpenVino model zoo for improved detection accuracy.
  
* Gpu components are built with CUDA 4.1
 
* 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==
+
====Enhancements====
 +
* Implemented CI build on github.
 +
 
 +
====Bug Fixes====
 +
* This version can run on workstation without AVX2 instruction set. Fixed the known issue for Open CV 4.3 where the dldt build is not able to run on workstations without AVX2.
 +
 
 +
==== Dependency ====
 +
* Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack. e.g. for windows server 2012 R2, following [https://github.com/emgucv/emgucv/issues/206 this instruction]
 +
 
 +
==Emgu.CV-4.3.0==
 
===Online Documentation===
 
===Online Documentation===
[{{SERVER}}/wiki/files/2.3.0/document/Index.html Browse]
+
[{{SERVER}}/wiki/files/4.3.0/document/index.html Browse]
 +
 
 
===Change Log===
 
===Change Log===
* Added Emgu.CV.OCR using tesseract 3.0
+
* 4.3.0 is based on the Open CV 4.3.0 release.
* More functions in Emgu.CV.GPU including
+
* For commercial release, we no longer offer binary compiled with Intel C++ compiler. In many case, Visual C++ is producing binaries as efficient as those produced with Intel C++ compiler. In certain situations (e.g. DNN modules running Facial Landmark demo), the binary produce by Visual C++ even run faster than those produced by C++ compiler. We decided to build our 64-bit commercial release without Intel C++, and instead, including Intel Inference Engine for better performance on the DNN module.
** Build with CUDA 4.0
+
* The 64-bit commercial binary for Windows is compiled with Intel Inference Engine backend v2020.2. This version required a machine with AVX2 instruction set, or else it will crash when DNN module is loaded. See [[Version_History#Known_Issues | Known Issues]]. Official Open CV 4.3 release has the exact same bug from Open Vino.
** Added GpuCascadeClassifier for face detection using GPU
+
* 4.3.0 release is build with Tesseract 4.1.1
** Added GpuSURFDetector for SURF using GPU
+
* Mac OS binary is now signed using our developer certificate.
** Added GpuBruteForceMatcher
+
* Android release is now built with NDK r21. Android demo now has a minSdkVersion="24" & targetSdkVersion="29"
** Added GpuDisparityBilateralFilter
+
* Added runtime shared project for Raspbian and Ubuntu
** And too many to be listed.
+
* Ubuntu and Raspbian build script now require dotnet core 3.1 instead of mono
* Added LatentSvmDetector
+
* Enable building raspbian and Ubuntu nuget pacakge.
* Added CvInvoke.Solve, CvInvoke.cvEstimateRigidTransform functions
+
* Removed ZedGraph dependency from Emgu.CV.UI. HistogramBox now use Open CV's plot module to draw histogram instead of using ZedGraph.
* Added BriefDescriptorExtractor
+
* Removed CvBlob. It has not been updated for 7 years. Please use opencv's tracking module instead.
* Added <code>SURFDetector.ComputeDescriptorsRaw(Image<Bgr, Byte> image, VectorOfKeyPoint keyPoints)</code> function to computer SURF descriptors using Opponent Color.
+
* SIFT detector is enabled by default due patents expiration (without requirement of NONFREE build option)
* Modified FindChessboardCorners such that if no corners is found, null is returned. Modified DrawChessboardCorners to accommodate the change.
+
* Added Emgu.CV.UI.NetCore project which provide a .NetCore compatible implementation of Emgu.CV.UI
* Improved Feature2DTracker
+
* Added Emgu.CV.Cuda.NvidiaOpticalFlow_1_0. Only support NVidia Graphic cards with Turing architecture (e.g. RTX 20xx)or above.
* Added adaptive threshold as an exposable object in the ImageBox.
+
* Added SetWindowProperty, GetWindowProperty & SetWindowTitle to CvInvoke. Renamed NamedWindowType to WindowFlags.
* Fix POSIT's PInvoke module: It should be Calib3d instead of Imgproc
+
* Added BundleAdjuster, ExposureCompensator, SeamFinder, Estimator and FeaturesMatcher for stitching.
* Added support for ImageBox to display GpuImage.
+
* Added CylindricalWarper, CylindricalWarperGpu, PlaneWarperGpu & SphericalWarperGpu for stitching.
* Added GridAdaptedFeatureDetector
+
* Added RotationWarper for stitching.
* Added BruteForceMatcher
+
* Added CvInboke.EstimateChessboardSharpness
* Added KinectCapture class. (Only supported in the emgucv package that is build with openni)
+
* Added warpImage, estimateTransformation & applyTransformation function for IShapeTransformer
 +
* Added h/vconcate overload that accept multiple Mats.
 +
* Added LBPHFaceRecognizer.Histograms property.
 +
* Rename HoughTypes to HoughModes. Added CvEnum.HoughMode.GradientAlt.
 +
* Added default value for FeatherBlender's "sharpness" parameter.
 +
* Added "Values" property for VectorOfObject debugger visualizer, when it is not a VectorOfVector.
 +
* Turned HelloWorld demo from .NetFramework console app to .NetCore console app.
 +
* Added BuildInfo.NetCore.Console demo project.
 +
* Use Xamarin.Plugin.FilePicker to pick file on Xamarin Forms Windows WPF demo.
 +
* Use MaskRcnn with DNN module for TrafficSignRecognition demo.
 +
* Apply Non-maximum suppression on MaskRcnn demo.
 +
* Updated VideoSurveillance demo to use Tracking module instead of CvBlob.
 +
* Replaced WebDynamicImage demo with DynamicImage.Asp.NetCore demo.
 +
* Moved ShapeDetection demo to Xamarin Forms.
 +
* Emgu.Util.Platform can now detect iOS platform.
 +
* Removed lots of __IOS__ conditional compilation flags in Emgu CV source code.
 +
* Use .net core 3.1 for unit test.
 +
 
 +
====Enhancements====
 +
* Added Yolo demo project in Xamarin Forms.
 +
* Demo projects now use async function calls to download model files from Internet.
 +
* Xamarin forms Android demo (Face Detection, Face Landmark Detection, Mask Rcnn Detection, Stop Sign detection, Yolo) can now use Camera in real time.
  
==Emgu.CV-2.2.1==
+
====Bug Fixes====
 +
* Fixed a bug in WText Dispose function.
 +
* Fixed a bug in cveSuperresFrameSourceRelease PInvoke.
 +
* Fixed cveSuperResolutionRelease header definition.
 +
* Fixed a bug in QuasiDenseStereo.Process implementation.
 +
* Fixed the spelling on cvePlaneWarperCreate.
 +
* Fixed a bug in loading image file into Image<Bgr, double>.
 +
 
 +
==== Dependency ====
 +
* Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack. e.g. for windows server 2012 R2, following [https://github.com/emgucv/emgucv/issues/206 this instruction]
 +
 
 +
==== Known Issues====
 +
* Debugger Visualizer does not work in this release. Getting debugger visualizer working for .NetStandard profile is a much challenging task than we originally thought. We will try to address that in the next release.
 +
* For commercial release, it is build with Intel Inference Engine backend for Windows. Due to a [https://github.com/openvinotoolkit/openvino/issues/387 bug in OpenVINO], the application will crashed on Machines without AVX2 instructions sets. This bug should be fixed in OpenVINO 2020.4 according to the ticket.
 +
 
 +
==Emgu.CV-4.2.0==
 
===Online Documentation===
 
===Online Documentation===
[{{SERVER}}/wiki/files/2.2.1/document/Index.html Browse]
+
[{{SERVER}}/wiki/files/4.2.0/document/index.html Browse]
 +
 
 
===Change Log===
 
===Change Log===
* The [[Licensing:#Commercial_License|commercial version]] is built with [http://software.intel.com/en-us/articles/intel-composer-xe Intel Composer XE 2011], [http://software.intel.com/en-us/articles/intel-ipp/ IPP 7.0] for optimal performance. It is also built with the commercial version of [http://www.threadingbuildingblocks.org TBB] for multi-threading support.
+
* 4.2.0 is based on the Open CV 4.2.0 release
* 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)
+
* The Emgu.CV dll is now targeting .NetStandard 2.0 instead of .Net 3.5
* [[Pedestrian Detection in CSharp | Pedestrian Detection Example]] will use GPU if a compatible device is detected in the <span class="plainlinks">[http://www.smartstun.com/ <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">stun gun</span>] running system.
+
* The Emgu.CV.UI dll is now targeting .Net 4.6.1 instead of .Net 3.5
* Build with OpenCV 2.2 branch rev. 4644
+
* '''The nuget package structures has been changed.''' Emgu.CV nuget package < 4.2.0 contains both the .Net 3.5 dll and the native dll for Windows. Starting from 4.2.0, Emgu.CV nuget package will contain only the .NetStandard 2.0 profile dll. The native dll comes in separate packages for different platforms. e.g. The Emgu.CV.runtime.windows package contains the native dll for Windows as well as the Emgu.CV.UI dll for Windows when targeting .netframework 4.6.1+. The Emgu.CV-CUDA nuget package has been replaced with Emgu.CV.runtime.windows.cuda nuget package.
* 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.
+
* Open CV CUDA DNN module required Compute 5.3 and higher. Our cuda build not longer build with cuda compute bin option < 5.3.
 +
* Conversion between Mat, UMat, GpuMat and Image<,> and Bitmap objects requires code changes. The constructors of the Mat, UMat, GpuMat and Image<,> that accepts Bitmap has been removed. It has been added to the Emgu.CV.UI.dll file as an extension method. The dll is part of the Emgu.CV.runtime.windows (or the similar Emgu.CV.runtime.windows.cuda) nuget pacakge. Prior to v4.2.0 this code can be use to create a Mat from Bitmap <pre>Mat m = new Mat(bitmap);</pre>. In the 4.2.0 release it has to be written like this <pre>Mat m = bitmap.ToMat()</Pre> For <pre>Image<,>.Bitmap</pre> property in 4.1.x and older release, its equivalent in v4.2.0 is <pre>Image<,>.AsBitmap()</pre>
  
==Emgu.CV-2.2.0.0==
+
====Enhancements====
===Online Documentation===
+
* Added DnnSuperres module.
[{{SERVER}}/wiki/files/2.2.0.0/document/Index.html Browse]
+
* Added the turbo color map.
 +
* Added Vulkan and Cuda backend enumeration for DNN.
 +
* Added FSR Inpainting type.
 +
* Added Features2DToolbox.DrawMatches overload.
 +
* Added CvInvoke.DrawMarker
  
===Change Log ===
 
 
====Bug Fixes====
 
====Bug Fixes====
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=11 Bug 11]: Image<TColor, TDepth>._MorphologyEx and MorphologyEx exists a bug of ArgumentNullException
+
* Fixed the ambiguous reference compilation error between 'Emgu.CV.Structure.Range' and 'System.Range' to make it compatible with the latest version of Visual Studio
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=12 Bug 12]: Miss finding contours functions step by step
 
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=14 Bug 14]: Wrong cvCalibrateCamera2 DllImport declaration causes FPU stack overflow
 
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=15 Bug 15]: Wrong DllImport prototype for cvUndistort2 leads to asserts in OpenCV
 
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=21 Bug 21]: Expose HOGDescriptor's compute function to further feed into learning algorithms
 
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=23 Bug 23]: Change the calling convention of all Pinvoke calls to CallingConvention.CDEL
 
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=30 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====
+
==== Dependency ====
* Added support for Visual Studio 2010
+
* Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.
* 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==
+
==Emgu.CV-4.1.1==
 
===Online Documentation===
 
===Online Documentation===
[{{SERVER}}/wiki/files/2.1.0.0/document/Index.html Browse]
+
[{{SERVER}}/wiki/files/4.1.1/document/index.html Browse]
  
===Change Log ===
+
===Change Log===
* Updated to use OpenCV 2.1
+
* nuget packages is now provided for Android and iOS in the commercial release.
* Configured CMake to build Rpm package on Fedora
+
* 4.1.1 is based on the Open CV 4.1.1 release
* Configured CMake to build Debian package on Ubuntu
+
* 4.1.1 Windows non-commercial release is built with Visual Studio 2019. 4.1.1 Windows commercial release is built with Intel Compiler and Visual Studio 2017. CUDA release is built with CUDA 10.1
* Added StereoSGBM class
+
* Mac OS build is now compatible with Visual Studio for Mac 8.2.3 (build 16) or above
* Added GrabCut in Image<,> and CvInvoke class
+
* iOS and Android demo build is now compatible with Visual Studio Aug 2019 releases or above
* 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 [{{SERVER}}/bugs/show_bug.cgi?id=6 Bug 6], thanks to Christian Richardt.  
 
* Fixed a bug in DenseHistogram.BackProjectPatch & CvInvoke.cvCalcBackProjectPatch function. See [{{SERVER}}/bugs/show_bug.cgi?id=7 Bug 7] and [{{SERVER}}/bugs/show_bug.cgi?id=8 Bug 8], thanks to xrwang.
 
  
===Known Issues===
+
====Enhancements====
* Emgu.CV.VideoSurveillance.BGCodeBookModel is broken, not sure if this is bug in Emgu or OpenCV, any help on fixing this is welcome.
+
* Added Emgu.CV.PpfMatch3d.ICP class from surface matching module.
* 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.
+
* Added XFeatures2DInvoke.MatchGMS
 +
* Added LineIterator.
 +
* Replaced IImage with IInputArray
 +
* Added Dnn.Net.DumpToFile and Dnn.Net.Dump.
 +
* Added AP3P, IPPE and IPPESquare to SolvePnpMethod, added more solve PnP functions.
  
==Emgu.CV-2.0.1.0==
+
====Bug Fixes====
===Online Documentation===
+
* Fixed the [https://github.com/emgucv/emgucv/commit/9b2c294b30a78d9cd524e0c4e44233d187c0a335 M12 property] for Moment class (replace typo M22 to M12).
[{{SERVER}}/wiki/files/2.0.1.0/Index.html Browse]
+
* Fixed [https://github.com/emgucv/emgucv/issues/241 issue 241]
 +
* Implement UserColor for applyColorMap [https://github.com/emgucv/emgucv/issues/264 issue 264 ]
  
===Change Log ===
+
==== Dependency ====
* '''Based on OpenCV 2.0'''
+
* Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.
* Added Octree class and [[Pedestrian_Detection_in_CSharp| 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, [{{SERVER}}/bugs/show_bug.cgi?id=5 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 [http://sourceforge.net/project/showfiles.php?group_id=216500  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 [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en MSVCRT 9.0 SP1] for dependency'''.
 
  
 +
==Emgu.CV-4.1.0==
 
===Online Documentation===
 
===Online Documentation===
[{{SERVER}}/wiki/files/2.0.0.0/Index.html Browse]
+
[{{SERVER}}/wiki/files/4.1.0/document/index.html Browse]
  
 
===Change Log===
 
===Change Log===
* [[Emgu CV]] 2.0 requires .NET 3.5.  
+
* 4.1.0 is based on the Open CV 4.1.0 release
* The included [[OpenCV]] dlls are built with Visual Studio 2008 and requires [http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en MSVCRT 9.0 SP1]
+
* 4.1.0 Windows release is built with Visual Studio 2017. CUDA release is built with CUDA 10.1
* A feature rich [[ImageBox]] with [[ImageBox#PanAndZoom | Pan and Zoom]] support.  
+
* iOS binary is build with XCode 10.1.
* Added [[Debugger Visualizer]] for Image, Matrix MatDN and DenseHistogram for Visual Studio 2005/2008
+
* Removed Emgu.CV.Contrib.LineDescriptor module. It is no long supported by Open CV due to license issue.
* 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, [[Mushroom Poisonous Prediction (Decision Tree) in CSharp | Decision Tree ]] and Random Tree.
+
====Enhancements====
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=3 a bug in cvReduce function]
+
* Added Matplotlib Perceptually Uniform Sequential colormaps
* Feature Tree can now be constructed either as Spill-Tree or K-d Tree
+
* Add Hand-Eye calibration methods
* Histogram class is obsolete, it is replaced by DenseHistogram class, which
+
* Added the Quality module.
** is runtime-serializable
+
* Added Stereo module and QuasiDenseStereo class.
** can be calculated from Matrix.
+
* Added RLOFOpticalFlowParameter.
** can be visualized by a [[Debugger Visualizer]]
+
* Added DenseRLOFOpticalFlow and SparseRLOFOpticalFlow.
* The following classes are new in v2.0
+
* Disabled Freetype module for iOS. Freetype is disabled by default in Open CV for iOS target.
** ERTrees (Extreme Random Trees)
+
* Added CvInvoke.SelectROIs & CvInvoke.SelectROI
** HomographyMatrix
+
* Added MultiTracker.GetObjects.
** SURFTracker
+
* Added DnnInvoke.GetAvailableBackends
* The following class are now runtime-serializable
+
 
**RotationVector3D
+
====Bug Fixes====
**ExtrinsicCameraParameters
+
* For Unity, fixed Android ILCPP backend build for arm64-v8a architecture.
**MatND
+
* Fixed a bug in the DPM constructor.
* Improvements to Image class.
 
** Added _GammaCorrect function
 
** Added ExtractMSER ([http://en.wikipedia.org/wiki/Maximally_stable_extremal_regions 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==
+
==== Dependency ====
Available from [http://sourceforge.net/project/showfiles.php?group_id=216500  Sourceforge].
+
* Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.
===Change Log===
 
* Fixed a bug in cvThreshold's return type. Thanks to Albert G.
 
  
==Emgu.CV-1.5.0.0==
+
==Emgu.CV-4.0.1==
 
===Online Documentation===
 
===Online Documentation===
[{{SERVER}}/wiki/files/1.5.0.0/Help/Index.html Browse]
+
[{{SERVER}}/wiki/files/4.0.1/document/index.html Browse]
  
 
===Change Log===
 
===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]]''':
+
* 4.0.1 is based on the Open CV 4.0.1 release
** Some classes and structures are refracted, which includes:
+
* 4.0.1 Windows release is built with Visual Studio 2017. CUDA release is built with CUDA 10.0
*** Generic Point class, MCvPoint and MCvPoint2D32F structure becomes System.Drawing.Point and System.Drawing.PointF structure
+
* The Windows Commercial license will also include the UWP release for ARM architecture in v4.x. We have merged the v3.x Windows Phone license and Windows license into v4.x windows commercial license for simplicity.
*** MCvSize structure becomes System.Drawing.Size
+
* Tesseract OCR has been updated to 4.0 final release.
*** Generic Rectangle class becomes System.Drawing.Rectangle structure.
+
* iOS binary is build with XCode 10.1.
*** Generic Line, LineSegment, Circle becomes its corresponding none generic structure.
+
* Android build no longer support armeabi architecture. It is obsoleted.
** 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.
+
* For Unity, iOS has JPEG disable to avoid conflict with Unity's build-in libjpeg.
* 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.
+
* For Unity, Android build has added arm64-v8a binary support.
* Beta version of Machine Learning library wrapped in Emgu.CV.ML namespace. Machine learning algorithms wrapped includes:
+
* For Unity, Emgu CV can now compatible with the ILCPP back end for Unity UWP project.
** [[Normal Bayes Classifier in CSharp | Normal Bayes Classifier ]]
+
* The installer can now install Debugger Visualizer for VS2019
** [[K Nearest Neighbors in CSharp | K Nearest Neighbors]]
 
** [[SVM (Support Vector Machine) in CSharp | Support Vector Machine (SVM)]], thanks to Albert G.  
 
** [[Expectation-Maximization in CSharp | Expectation Maximization (EM)]]
 
** [[ANN MLP (Neural Network) in CSharp | Neural Network (ANN_MLP)]]
 
** Boost Tree (Boost) - not tested
 
** Decision Tree (DTree) - not tested
 
** Random Tree (RTree) - not tested
 
* 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 [[Planar Subdivision in CSharp | 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 [http://www.taoframework.com Tao.GL]
 
* Added an OCR (a.k.a. Text Recognition) example using [http://www.pixel-technology.com/freeware/tessnet2 tessnet2 ]
 
* [[SURF feature detector in CSharp| 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===
+
====Enhancements====
* [[OpenCV]] 1.1pre for windows is built on VS2005. You will need to '''install MSVCRT 8.0 SP1''' available from
+
* Added Freetype module
[http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en this page]
+
* Added hfs module from opencv_contrib
* [[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 [http://tech.groups.yahoo.com/group/OpenCV/message/58417 this page] (You will need an Yahoo ID to view it)
+
* Added DNN sample for Xamarin Forms WPF.
* 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)
+
* Update Stitcher API to match Open CV 4.0 API
 +
* Added Decode to QRCodeDetector.
 +
* Added EstimateAffine2D & EstimateAffinePartial2D
 +
* Added BasicFaceRecognizer class.
 +
* Wrap more functions for FileNode and IAlgorithm.
 +
* Added CalibrateCameraCharuco
 +
* Added DrawPlanarBoard, EstimatePoseBoard and GetBoardObjectAndImagePoints to ArucoInvoke.
 +
* Added KNearest.FindNearest
 +
* Added Relu and LeakyRelu activation type to ANN_MLP.
 +
* Added the RNG class.
 +
* Added GetData for UMat.
 +
* Added operator overload to Mat class.
 +
* Added operator overload to UMat.
 +
* Update the EstimateTransform function to match opencv implementation.
 +
* Added OcrInvoke.SetLocale function to set locale for tesseract.
 +
* Added FaceLandmarkDetectionPage demo page.
 +
* Allow for picking images on Xamarin Forms WPF project.
 +
* Implement ROI copying for Image<,> class without changing the IplImage.ROI property.
 +
* Added CudaConvolution.
 +
* Added CudaInvoke.DrawColorDisp
 +
* Added RetinaFastToneMapping
 +
* Added a Debugger and the GetData function for GpuMat.
 +
* Added CvInvoke.SetGlDevice
 +
* Updated CvEnum.CapProp
 +
* Added VideoCapture.BackendName
  
==Emgu.CV-1.4.0.0==
+
====Bug Fixes====
===Online Documentation===
+
* Fixed issue [https://github.com/emgucv/emgucv/issues/220 #220]: Bug in CudaSparsePyrLKOpticalFlow
[{{SERVER}}/wiki/files/1.4.0.0/Index.html Browse]
+
* Fixed issue [https://github.com/emgucv/emgucv/issues/210 #210]: CvException.ErrorStr crashes program. Thanks to Jeremy
===Change Log===
+
* Fixed issue [https://github.com/emgucv/emgucv/issues/181 #181]
* Support for [[OpenCV]] version 1.1
+
* Fixed issue [https://github.com/emgucv/emgucv/issues/173 #173]
** Improvements in [[OpenCV]] 1.1 are automatically apply to [[Emgu CV]] 1.4.0.0. For a list of changes, please visit http://sourceforge.net/project/shownotes.php?release_id=633499
+
* Fix a bug in the PInvoke signature for DisparityBilateralFilterCreate.
** Added ExtractSURF function in Image class; Added FeatureTree class; Added [[SURF_feature_detector_in_CSharp| SURFFeature example]] (which is a C# rewriting of the find_obj.cpp example in [[OpenCV]])
+
* Fixed a bug in CudaCannyEdgeDetector, CudaHOG constructor and DPM.
** Better Homography estimation (included RANSAC and LMEDS in the wrapper)
+
* Fixed a bug in Mat.GetData when there are multiple channels.
* Emgu.CV.UI namespace is now in its separate assembly (instead of the Emgu.CV assembly).
+
* Fix a bug in FitEllipseDirect.
* Better [[ImageBox]]
+
* Change the Emgu.CV.World project output path such that a rebuild will not clean out the "x86" or "x64" folder.
** [[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.
+
* Added the missing cudaSparsePyrLKOpticalFlowRelease implementation.
** 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.
+
==== Dependency ====
* Improved performance when converting 1pbbIndexed and 8bppIndexed Bitmap to Image class
+
* Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.
* 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 [[Planar Subdivision in CSharp | 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===
+
==Version History 3.x Archive==
* [[OpenCV]] 1.1pre for windows is built on VS2005. You will need to '''install MSVCRT 8.0 SP1''' available from
+
[[Version History 3.x]]
[http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en 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 [http://tech.groups.yahoo.com/group/OpenCV/message/58417 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==
+
==Version History 2.x Archive==
===Online Documentation===
+
[[Version History 2.x]]
[{{SERVER}}/wiki/files/1.3.0.0/Index.html 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 <I>any type</I> 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 [[Planar_Subdivision_in_CSharp | 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 ==
+
==Version History 1.x Archive==
===Change Log===
+
[[Version History 1.x]]
* [[ImageBox]] Control
 
* [[Tutorial#Error_Handling | Better exception handling]]
 
* [[Tutorial#Operators_Overload | Operators Overload]]
 
* Can be [[Compiled by Monodevelop | compiled by Monodevelop]]
 
* Support of Double as image depth
 
* <code>Bitmap</code> get property added as a high performance alternative to <code>ToBitmap()</code> function
 
** Note: <code>Bitmap</code> get property differs from <code>ToBitmap()</code> such that when dealing with Image&lt;Gray, Byte&gt; and Image&lt;Bgr, Byte&gt;, the image data is shared with Bitmap. Take extra caution not to use the Bitmap after the Image is disposed
 
* Performance improvement on <code>ToBitmap()</code> 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
 

Revision as of 14:23, 16 September 2020

Emgu.CV-4.4.0

Online Documentation

Browse

Change Log

  • 4.4.0 is based on the Open CV 4.4.0 release.
  • The standard license terms has been change to dual license from GPL. See it here: https://github.com/emgucv/emgucv/blob/master/LICENSE The change is to allow commercial license owners to use our regular open source build and the nuget packages from nuget.org.
  • Change in nuget packages:
    • Both commercial and open source nuget package now use the Emgu.CV nuget package from nuget.org. The commercial release provide runtime nuget packages that are built with OpenVino and have IPP and CPU dispatch enabled.
    • No longer append "-CR" to commercial nuget package. Add "dldt" to nuget package compiled with openvino. This is to make clear what was in the commercial release and matches the Open CV package naming scheme (such as opencv-4.4.0-dldt-2020.4-vc16-avx2.zip). For example, the Emgu.CV.windows.runtime-CR package in v4.3 has been renamed to Emgu.CV.windows.runtime.dldt in v4.4. The Emgu.CV.windows.runtime.cuda-CR package in v4.3 has been renamed to Emgu.CV.windows.runtime.cuda.dldt in v4.4.
    • Added Emgu.CV.Bitmap nuget package that contains the conversion code from Emgu CV images to Bitmap. This package targets .NetStandard platform. If you are running on Linux / Mac OS platform, you will need to make sure native GDI+ is installed in your system, or it will failed on dependency when Bitmap is used.
    • Added Emgu.CV.UI nuget package. This package contains Emgu.CV.Platform.NetFramework.dll and Emgu.CV.Platform.NetCore.dll originally contained in Emgu.CV nuget pacakge in v4.3. These two dlls are only compatible with Windows platform.
    • Emgu.CV nuget package now only targets .NetStandard platform.
    • Split up Emgu.CV.runtime.cuda.dnn nuget packages into 3: Emgu.CV.runtime.cuda.dnn.cnn, Emgu.CV.runtime.cuda.dnn.ops & Emgu.CV.runtime.cuda.dnn. No changes is needed on the user side, the dependency resolution will be handled automatically by nuget package manager.
  • The 64-bit commercial binary for Windows is compiled with Intel Inference Engine backend v2020.4 (instead of v2020.3 in the v4.3 release)
  • Enable IPP and CPU dispatch for windows commercial build.
  • For Android runtime, in v4.3 we switched to from Open CV's custom toolchain to the android toolchain from NDK. There is a bug in Android NDK that enabled debug symbols even in release built. As a result, the Android binary is ~6 times larger. We have updated our build flags to force to exclude the debug symbols in release built. In v4.4, the android binary size are back to the v4.2 level.
  • 4.4.0 release is build with Tesseract 4.1.1
  • GPU release is build with CUDA 11.0 instead of CUDA 10
  • Added Intensity Transform module
  • Added Rapid module
  • Added eigen3 submodule to build alphamat on windows and android.
  • Enable saliency module for Android.
  • Re-enable CudaCascadeClassifier class.
  • Enable building DynamicImage.Asp.NetCore project on Linux, Mac and Raspbian.
  • Added HelloWorld.UWP project for UWP build.
  • Added CvInvoke.ScaleAdd function.
  • Added build script for Ubuntu 20.04
  • VideoCapture.Read function now return bool instead of void.
  • Updated XamarinForms.WPF to base on .NetCore instead of .Net Framework 4.7
  • Updated WPF demo project to base on .NetCore instead of .Net Framework 4.6.1
  • Change DnnInvoke.GetAvailableBackends() to property DnnInvoke.AvailableBackends
  • Moved SIFT from XFeatures2D to Features2D namespace
  • VideoCapture.Run function use Emgu.Util.ExceptionHandler instead of System.ServiceModel.Dispatcher.ExceptionHandler.
  • The License Plate detection demo now use DNN with OpenVino model zoo for improved detection accuracy.


Enhancements

  • Implemented CI build on github.

Bug Fixes

  • This version can run on workstation without AVX2 instruction set. Fixed the known issue for Open CV 4.3 where the dldt build is not able to run on workstations without AVX2.

Dependency

  • Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack. e.g. for windows server 2012 R2, following this instruction

Emgu.CV-4.3.0

Online Documentation

Browse

Change Log

  • 4.3.0 is based on the Open CV 4.3.0 release.
  • For commercial release, we no longer offer binary compiled with Intel C++ compiler. In many case, Visual C++ is producing binaries as efficient as those produced with Intel C++ compiler. In certain situations (e.g. DNN modules running Facial Landmark demo), the binary produce by Visual C++ even run faster than those produced by C++ compiler. We decided to build our 64-bit commercial release without Intel C++, and instead, including Intel Inference Engine for better performance on the DNN module.
  • The 64-bit commercial binary for Windows is compiled with Intel Inference Engine backend v2020.2. This version required a machine with AVX2 instruction set, or else it will crash when DNN module is loaded. See Known Issues. Official Open CV 4.3 release has the exact same bug from Open Vino.
  • 4.3.0 release is build with Tesseract 4.1.1
  • Mac OS binary is now signed using our developer certificate.
  • Android release is now built with NDK r21. Android demo now has a minSdkVersion="24" & targetSdkVersion="29"
  • Added runtime shared project for Raspbian and Ubuntu
  • Ubuntu and Raspbian build script now require dotnet core 3.1 instead of mono
  • Enable building raspbian and Ubuntu nuget pacakge.
  • Removed ZedGraph dependency from Emgu.CV.UI. HistogramBox now use Open CV's plot module to draw histogram instead of using ZedGraph.
  • Removed CvBlob. It has not been updated for 7 years. Please use opencv's tracking module instead.
  • SIFT detector is enabled by default due patents expiration (without requirement of NONFREE build option)
  • Added Emgu.CV.UI.NetCore project which provide a .NetCore compatible implementation of Emgu.CV.UI
  • Added Emgu.CV.Cuda.NvidiaOpticalFlow_1_0. Only support NVidia Graphic cards with Turing architecture (e.g. RTX 20xx)or above.
  • Added SetWindowProperty, GetWindowProperty & SetWindowTitle to CvInvoke. Renamed NamedWindowType to WindowFlags.
  • Added BundleAdjuster, ExposureCompensator, SeamFinder, Estimator and FeaturesMatcher for stitching.
  • Added CylindricalWarper, CylindricalWarperGpu, PlaneWarperGpu & SphericalWarperGpu for stitching.
  • Added RotationWarper for stitching.
  • Added CvInboke.EstimateChessboardSharpness
  • Added warpImage, estimateTransformation & applyTransformation function for IShapeTransformer
  • Added h/vconcate overload that accept multiple Mats.
  • Added LBPHFaceRecognizer.Histograms property.
  • Rename HoughTypes to HoughModes. Added CvEnum.HoughMode.GradientAlt.
  • Added default value for FeatherBlender's "sharpness" parameter.
  • Added "Values" property for VectorOfObject debugger visualizer, when it is not a VectorOfVector.
  • Turned HelloWorld demo from .NetFramework console app to .NetCore console app.
  • Added BuildInfo.NetCore.Console demo project.
  • Use Xamarin.Plugin.FilePicker to pick file on Xamarin Forms Windows WPF demo.
  • Use MaskRcnn with DNN module for TrafficSignRecognition demo.
  • Apply Non-maximum suppression on MaskRcnn demo.
  • Updated VideoSurveillance demo to use Tracking module instead of CvBlob.
  • Replaced WebDynamicImage demo with DynamicImage.Asp.NetCore demo.
  • Moved ShapeDetection demo to Xamarin Forms.
  • Emgu.Util.Platform can now detect iOS platform.
  • Removed lots of __IOS__ conditional compilation flags in Emgu CV source code.
  • Use .net core 3.1 for unit test.

Enhancements

  • Added Yolo demo project in Xamarin Forms.
  • Demo projects now use async function calls to download model files from Internet.
  • Xamarin forms Android demo (Face Detection, Face Landmark Detection, Mask Rcnn Detection, Stop Sign detection, Yolo) can now use Camera in real time.

Bug Fixes

  • Fixed a bug in WText Dispose function.
  • Fixed a bug in cveSuperresFrameSourceRelease PInvoke.
  • Fixed cveSuperResolutionRelease header definition.
  • Fixed a bug in QuasiDenseStereo.Process implementation.
  • Fixed the spelling on cvePlaneWarperCreate.
  • Fixed a bug in loading image file into Image<Bgr, double>.

Dependency

  • Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack. e.g. for windows server 2012 R2, following this instruction

Known Issues

  • Debugger Visualizer does not work in this release. Getting debugger visualizer working for .NetStandard profile is a much challenging task than we originally thought. We will try to address that in the next release.
  • For commercial release, it is build with Intel Inference Engine backend for Windows. Due to a bug in OpenVINO, the application will crashed on Machines without AVX2 instructions sets. This bug should be fixed in OpenVINO 2020.4 according to the ticket.

Emgu.CV-4.2.0

Online Documentation

Browse

Change Log

  • 4.2.0 is based on the Open CV 4.2.0 release
  • The Emgu.CV dll is now targeting .NetStandard 2.0 instead of .Net 3.5
  • The Emgu.CV.UI dll is now targeting .Net 4.6.1 instead of .Net 3.5
  • The nuget package structures has been changed. Emgu.CV nuget package < 4.2.0 contains both the .Net 3.5 dll and the native dll for Windows. Starting from 4.2.0, Emgu.CV nuget package will contain only the .NetStandard 2.0 profile dll. The native dll comes in separate packages for different platforms. e.g. The Emgu.CV.runtime.windows package contains the native dll for Windows as well as the Emgu.CV.UI dll for Windows when targeting .netframework 4.6.1+. The Emgu.CV-CUDA nuget package has been replaced with Emgu.CV.runtime.windows.cuda nuget package.
  • Open CV CUDA DNN module required Compute 5.3 and higher. Our cuda build not longer build with cuda compute bin option < 5.3.
  • Conversion between Mat, UMat, GpuMat and Image<,> and Bitmap objects requires code changes. The constructors of the Mat, UMat, GpuMat and Image<,> that accepts Bitmap has been removed. It has been added to the Emgu.CV.UI.dll file as an extension method. The dll is part of the Emgu.CV.runtime.windows (or the similar Emgu.CV.runtime.windows.cuda) nuget pacakge. Prior to v4.2.0 this code can be use to create a Mat from Bitmap
    Mat m = new Mat(bitmap);
    . In the 4.2.0 release it has to be written like this
    Mat m = bitmap.ToMat()
    For
    Image<,>.Bitmap
    property in 4.1.x and older release, its equivalent in v4.2.0 is
    Image<,>.AsBitmap()

Enhancements

  • Added DnnSuperres module.
  • Added the turbo color map.
  • Added Vulkan and Cuda backend enumeration for DNN.
  • Added FSR Inpainting type.
  • Added Features2DToolbox.DrawMatches overload.
  • Added CvInvoke.DrawMarker

Bug Fixes

  • Fixed the ambiguous reference compilation error between 'Emgu.CV.Structure.Range' and 'System.Range' to make it compatible with the latest version of Visual Studio

Dependency

  • Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.

Emgu.CV-4.1.1

Online Documentation

Browse

Change Log

  • nuget packages is now provided for Android and iOS in the commercial release.
  • 4.1.1 is based on the Open CV 4.1.1 release
  • 4.1.1 Windows non-commercial release is built with Visual Studio 2019. 4.1.1 Windows commercial release is built with Intel Compiler and Visual Studio 2017. CUDA release is built with CUDA 10.1
  • Mac OS build is now compatible with Visual Studio for Mac 8.2.3 (build 16) or above
  • iOS and Android demo build is now compatible with Visual Studio Aug 2019 releases or above

Enhancements

  • Added Emgu.CV.PpfMatch3d.ICP class from surface matching module.
  • Added XFeatures2DInvoke.MatchGMS
  • Added LineIterator.
  • Replaced IImage with IInputArray
  • Added Dnn.Net.DumpToFile and Dnn.Net.Dump.
  • Added AP3P, IPPE and IPPESquare to SolvePnpMethod, added more solve PnP functions.

Bug Fixes

Dependency

  • Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.

Emgu.CV-4.1.0

Online Documentation

Browse

Change Log

  • 4.1.0 is based on the Open CV 4.1.0 release
  • 4.1.0 Windows release is built with Visual Studio 2017. CUDA release is built with CUDA 10.1
  • iOS binary is build with XCode 10.1.
  • Removed Emgu.CV.Contrib.LineDescriptor module. It is no long supported by Open CV due to license issue.

Enhancements

  • Added Matplotlib Perceptually Uniform Sequential colormaps
  • Add Hand-Eye calibration methods
  • Added the Quality module.
  • Added Stereo module and QuasiDenseStereo class.
  • Added RLOFOpticalFlowParameter.
  • Added DenseRLOFOpticalFlow and SparseRLOFOpticalFlow.
  • Disabled Freetype module for iOS. Freetype is disabled by default in Open CV for iOS target.
  • Added CvInvoke.SelectROIs & CvInvoke.SelectROI
  • Added MultiTracker.GetObjects.
  • Added DnnInvoke.GetAvailableBackends

Bug Fixes

  • For Unity, fixed Android ILCPP backend build for arm64-v8a architecture.
  • Fixed a bug in the DPM constructor.

Dependency

  • Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.

Emgu.CV-4.0.1

Online Documentation

Browse

Change Log

  • 4.0.1 is based on the Open CV 4.0.1 release
  • 4.0.1 Windows release is built with Visual Studio 2017. CUDA release is built with CUDA 10.0
  • The Windows Commercial license will also include the UWP release for ARM architecture in v4.x. We have merged the v3.x Windows Phone license and Windows license into v4.x windows commercial license for simplicity.
  • Tesseract OCR has been updated to 4.0 final release.
  • iOS binary is build with XCode 10.1.
  • Android build no longer support armeabi architecture. It is obsoleted.
  • For Unity, iOS has JPEG disable to avoid conflict with Unity's build-in libjpeg.
  • For Unity, Android build has added arm64-v8a binary support.
  • For Unity, Emgu CV can now compatible with the ILCPP back end for Unity UWP project.
  • The installer can now install Debugger Visualizer for VS2019

Enhancements

  • Added Freetype module
  • Added hfs module from opencv_contrib
  • Added DNN sample for Xamarin Forms WPF.
  • Update Stitcher API to match Open CV 4.0 API
  • Added Decode to QRCodeDetector.
  • Added EstimateAffine2D & EstimateAffinePartial2D
  • Added BasicFaceRecognizer class.
  • Wrap more functions for FileNode and IAlgorithm.
  • Added CalibrateCameraCharuco
  • Added DrawPlanarBoard, EstimatePoseBoard and GetBoardObjectAndImagePoints to ArucoInvoke.
  • Added KNearest.FindNearest
  • Added Relu and LeakyRelu activation type to ANN_MLP.
  • Added the RNG class.
  • Added GetData for UMat.
  • Added operator overload to Mat class.
  • Added operator overload to UMat.
  • Update the EstimateTransform function to match opencv implementation.
  • Added OcrInvoke.SetLocale function to set locale for tesseract.
  • Added FaceLandmarkDetectionPage demo page.
  • Allow for picking images on Xamarin Forms WPF project.
  • Implement ROI copying for Image<,> class without changing the IplImage.ROI property.
  • Added CudaConvolution.
  • Added CudaInvoke.DrawColorDisp
  • Added RetinaFastToneMapping
  • Added a Debugger and the GetData function for GpuMat.
  • Added CvInvoke.SetGlDevice
  • Updated CvEnum.CapProp
  • Added VideoCapture.BackendName

Bug Fixes

  • Fixed issue #220: Bug in CudaSparsePyrLKOpticalFlow
  • Fixed issue #210: CvException.ErrorStr crashes program. Thanks to Jeremy
  • Fixed issue #181
  • Fixed issue #173
  • Fix a bug in the PInvoke signature for DisparityBilateralFilterCreate.
  • Fixed a bug in CudaCannyEdgeDetector, CudaHOG constructor and DPM.
  • Fixed a bug in Mat.GetData when there are multiple channels.
  • Fix a bug in FitEllipseDirect.
  • Change the Emgu.CV.World project output path such that a rebuild will not clean out the "x86" or "x64" folder.
  • Added the missing cudaSparsePyrLKOpticalFlowRelease implementation.

Dependency

  • Note that for Windows platform, this release is build with MSMF. MSMF is pre-installed for Windows 10 Home or Windows 10 Pro releases. For Windows N or certain Windows Server releases, it may require you to download and install Windows Media Feature pack.

Version History 3.x Archive

Version History 3.x

Version History 2.x Archive

Version History 2.x

Version History 1.x Archive

Version History 1.x