Difference between revisions of "Version History"

From Emgu CV: OpenCV in .NET (C#, VB, C++ and more)
Jump to: navigation, search
(Change Log)
(Change Log)
(67 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Emgu.CV-3.1.0-r16.12==
+
==Emgu.CV-4.4.0==
 +
===Online Documentation===
 +
[{{SERVER}}/wiki/files/4.4.0/document/index.html 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 [https://github.com/emgucv/emgucv/issues/206 this instruction]
 +
 +
==Emgu.CV-4.3.0==
 
===Online Documentation===
 
===Online Documentation===
[{{SERVER}}/wiki/files/3.1.0-r16.12/document/index.html Browse]
+
[{{SERVER}}/wiki/files/4.3.0/document/index.html Browse]
  
 
===Change Log===
 
===Change Log===
* 3.1-r16.12 CUDA build is based on CUDA 8.0 and support latest NVIDIA devices (e.g GTX 1080)
+
* 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 [[Version_History#Known_Issues | 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====
 
====Enhancements====
* Added Emgu.CV.Aruco namespace that wraps Open CV's Aruco module.
+
* Added Yolo demo project in Xamarin Forms.
* Added Emgu.CV.Dnn namespace that wraps Open CV's Dnn module.
+
* Demo projects now use async function calls to download model files from Internet.
* Added Emgu.CV.Fuzzy namespace that wraps Open CV's Fuzzy module.
+
* Xamarin forms Android demo (Face Detection, Face Landmark Detection, Mask Rcnn Detection, Stop Sign detection, Yolo) can now use Camera in real time.
* Added Emgu.CV.LineDescriptor namespace that wraps Open CV's LineDescriptor module.
 
* Added Emgu.CV.Plot namespace that wraps Open CV's Plot module.
 
* Added Emgu.CV.Tracking namespace that wraps Open CV's Tracking module.
 
* Added Emgu.CV.Viz3d class that wraps Open CV's Viz3d module.
 
  
* More to be added soon...
+
====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>.
  
====Bug Fixes====
+
==== Dependency ====
* More to be added soon...
+
* 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-3.1.0==
+
==== 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/3.1.0/document/index.html Browse]
+
[{{SERVER}}/wiki/files/4.2.0/document/index.html Browse]
  
 
===Change Log===
 
===Change Log===
* 3.1 release no longer support CUDA on x86, CUDA 7.0 release has dropped x86 support.
+
* 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 <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>
  
 
====Enhancements====
 
====Enhancements====
* Based on Open CV 3.1.0 release. For details, please see [http://opencv.org/opencv-3-1.html Open CV 3.1 release note]
+
* Added DnnSuperres module.
* In this release, all projects except Emgu.CV.UI have been converted to shared projects. There is a new <code>Emgu.CV.World</code> project that references all the shared projects ( except Emgu.CV.UI ) and can be compiled to a single dll.
+
* Added the turbo color map.
* Unity 3D release have Windows 10 support. Windows Store and Windows Phone for Visual Studio will only support Windows 8.1 project type. We will bring Windows 10 UWP project type support for Visual Studio project in the next release.
+
* Added Vulkan and Cuda backend enumeration for DNN.
* Emgu CV for Xamarin Android release now supports x86_64 and arm64_v8a architectures.
+
* Added FSR Inpainting type.
* Added Tesseract OCR support for Windows Phone 8.1 and Windows Store 8.1
+
* Added Features2DToolbox.DrawMatches overload.
* Added XamarinForms demo for Android and IOS.
+
* Added CvInvoke.DrawMarker
* Added fish-eye calibration class.
 
* Added ConnectedComponents in CvInvoke.
 
* Added the optional mask parameter to CvInvoke.MatchTemplate function
 
* Added functions to allow programmatically select the Open CL device (CvInvoke.OclSetDefaultDevice)
 
* Added SimpleBlobDetectorParams such that we can change the default parameters for SimpleBlobDetector
 
  
 
====Bug Fixes====
 
====Bug Fixes====
* Fixed a bug in UMat.Split, added dot product for UMat
+
* 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 a bug in FloodFill where the bounding rectangle is not being returned.
 
* Fixed [{{SERVER}}/bugs/show_bug.cgi?id=133 Bug 133] & [{{SERVER}}/bugs/show_bug.cgi?id=166 Bug 166]
 
==Emgu.CV-3.0.0==
 
  
Instruction to convert 2.4.x code to 3.0 can be found [[Tutorial#Upgrading_from_Emgu_CV_2.x_to_3.x | here]]
+
==== 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===
 
===Online Documentation===
[{{SERVER}}/wiki/files/3.0.0/document/index.html Browse]
+
[{{SERVER}}/wiki/files/4.1.1/document/index.html Browse]
  
 
===Change Log===
 
===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====
 
====Enhancements====
=====Compares to 3.0.0-rc1=====
+
* Added Emgu.CV.PpfMatch3d.ICP class from surface matching module.
* Based on Open CV 3.0.0 release. For details, please see [http://opencv.org/opencv-3-0.html Open CV 3.0 release note]
+
* Added XFeatures2DInvoke.MatchGMS
* All versions of Emgu CV except the CUDA builds now use a single unmanaged dll (cvextern.dll) instead of the multiple dlls in prior releases (cvextern.dll, opencv_core{xxx}.dll, opencv_imgproc{xxx}.dll, etc). We are able to dramatically reduce the size of the dll compares to the old multi-file releases. For example, 3.0.0 open source final release, x86, non-cuda unmanaged binary contains a single cvextern.dll that is ~10MB in size. While the same build in 2.4.10 open source final release contains 19 files that is ~18MB in size. All CUDA build will still use the multi-file deployment model. We would like to make our CUDA build a single-dll release but we are having technical difficulty linking against static library that contains CUDA device code (The resulting binary will always cause Stack Overflow when CUDA code are called).
+
* Added LineIterator.
* Android version is now build with OpenMP support from Android NDK r10e. This enable multi-threading on mobile devices. Our Android demo app, such as Face Detection program now runs 4 times faster on a Quad-core android phone (tested on an HTC One M7).
+
* Replaced IImage with IInputArray
* Added support for Debugger Visualizer for Visual Studio 2015
+
* Added Dnn.Net.DumpToFile and Dnn.Net.Dump.
* Dropped support for Debugger Visualizer for Visual Studio 2008
+
* Added AP3P, IPPE and IPPESquare to SolvePnpMethod, added more solve PnP functions.
* The 64 bit unmanaged dlls are built with CUDA 7.0
+
 
* The 32 bit unmanaged dlls are built with CUDA 6.5. The reason is that CUDA 7.0 no longer provide 32bit NPP library, which is necessary to compile 32-bit Open CV CUDA build. Moving forward, future versions of Emgu CV may not include 32bit CUDA release if NVidia drop supports for 32 bit NPP library in CUDA SDK.
+
====Bug Fixes====
 +
* Fixed the [https://github.com/emgucv/emgucv/commit/9b2c294b30a78d9cd524e0c4e44233d187c0a335 M12 property] for Moment class (replace typo M22 to M12).
 +
* Fixed [https://github.com/emgucv/emgucv/issues/241 issue 241]
 +
* Implement UserColor for applyColorMap [https://github.com/emgucv/emgucv/issues/264 issue 264 ]
  
=====Highlights since 2.4.10=====  
+
==== Dependency ====
* Windows Phone 8.1 support
+
* 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.
* Unity 5.0 support
 
* Using Open CV's C++ interface
 
* Open CV's T-API support
 
* Optional parameters support in Emgu CV library
 
* Emgu CV 3.0 can use OpenCL (GPU computing) on certain Android devices. A list of OpenCL supported Android phone can be found [http://arrayfire.com/opencl-on-mobile-devices/ here]. Note that Open CV requires OpenCL 1.2, so only android phone with OpenCL 1.2 profile will be able to run Emgu CV OpenCL programs.
 
  
==Emgu.CV-3.0.0-rc1==
+
==Emgu.CV-4.1.0==
Instruction to convert 2.4.x code to 3.0 can be found [[Tutorial#Upgrading_from_Emgu_CV_2.x_to_3.x | here]]
 
 
===Online Documentation===
 
===Online Documentation===
[{{SERVER}}/wiki/files/3.0.0-rc1/document/index.html Browse]
+
[{{SERVER}}/wiki/files/4.1.0/document/index.html Browse]
  
 
===Change Log===
 
===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====
 
====Enhancements====
* Based on Open CV 3.0.0-rc1 release. For details, please see [http://opencv.org/opencv-3-0-rc1.html Open CV 3.0 rc1 release note]
+
* Added Matplotlib Perceptually Uniform Sequential colormaps
* Added Windows Phone 8.1 support
+
* Add Hand-Eye calibration methods
* Added Unity 5.0 support
+
* 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
  
==Emgu.CV-3.0.0-alpha==
+
====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===
 
===Online Documentation===
[{{SERVER}}/wiki/files/3.0.0-alpha/document/index.html Browse]
+
[{{SERVER}}/wiki/files/4.0.1/document/index.html Browse]
  
 
===Change Log===
 
===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====
 
====Enhancements====
* Based on [http://opencv.org/opencv-3-0-alpha.html Open CV 3.0.0-alpha] release. For details, please see [http://opencv.org/opencv-3-0-alpha.html Open CV 3.0 alpha release note]
+
* Added Freetype module
* Use Open CV C++ interfaces instead of the C interface
+
* Added hfs module from opencv_contrib
* Support for Open CV's T-API
+
* 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 [https://github.com/emgucv/emgucv/issues/220 #220]: Bug in CudaSparsePyrLKOpticalFlow
 +
* Fixed issue [https://github.com/emgucv/emgucv/issues/210 #210]: CvException.ErrorStr crashes program. Thanks to Jeremy
 +
* Fixed issue [https://github.com/emgucv/emgucv/issues/181 #181]
 +
* Fixed issue [https://github.com/emgucv/emgucv/issues/173 #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 Archive==

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