Version History
Emgu.CV-4.9.0
Online Documentation
Change Log
- 4.9.0 is based on the Open CV 4.9.0 release.
- Update MAUI library to .Net 8 (instead of 7)
- Update unit test from .net 7.0 to 8.0
- Updated .net 7.0 demo projects to .net 8.0
- Updated minimum ios version to 17.0 (from 11.0) for iOS demo.
- Use c++23 instead of c++17 for iOS build
- Update OpenVino to 2023.2 (from 2023.1)
- Update TF and TF Lite nuget package in demos to 2.15.0 (from 2.10.1).
- Updated Nunit in unit test to 4.0.1 (from 3.14.0)
- Added CvInvoke.FlipND & CvInvoke.Broadcast
- PPF3D add wrapper for ComputeNormalsPC3d and SamplePCByQuantization. Thanks to Fu Pengfei
- Added CvInvoke.CvtColorTwoPlane & CvInvoke.Demosaicing
- Added an additional function overload for CvInvoke.StereoCalibrate
- Added CvInvoke.SetBreakOnError
- Added CvInvoke.TempFile function
- Added CalibType.UseExtrinsicGuess & CalibType.FixTangentDist
- Added SolvePnpMethod.SQPNP
- Added a GpuMat constructor that accepts user-allocated data.
- Added missing functions for ColorCorrectionModel.
- Added Emgu.CV.Stitching.CameraParams
- Added Stitcher.SetTransform function.
- Added Emgu.CV.Aruco.Doctionary.GenerateImageMarker
- Added Emgu.CV.Dnn.Target.CpuFp16 target enum.
- Added VideoCapture.Release function.
- Added Mat.GetSpan function. Compile Emgu.CV with unsafe code.
- Added GetSpan() function for VectorOfStruct.
- Added Vector constructors that accept Span<T>.
- For Android, handle YUV planes where U/V planes with a pixel stride > 1.
- Turn cveTempfile into private.
- Renamed MCvTermCriteria.MaxIter to MCvTermCriteria.MaxCount to match C++ implementation.
- Rename Tesseract.Character to Tesseract.Word to correctly reflect the block level.
- For Tesseract, keep the region even when confident is 0 (e.g. region contains blacklisted characters)
- Upgrade depthai-core to 2.23.0 (from 2.15.4)
- Updated System.Drawing.Common nuget package in Aruco demo project.
- Added UnitTest for FlannHierarchicalClusteringIndex
- Deploy macos runtime file to "runtimes/osx/native" folder in nuget package.
Bug Fixes
- Fixed issue issue 905: Wrongly converted parameter arguments for process method in AlignExposures class
- Fixed issue issue 902: Updated RotatedRect documentation to match Open CV's.
- Fixed issue issue 927
- Fixed the constructor for CombinedModel.
- Fixed Image.HoughLinesBinary for multiple channel image.
- Updated Yolo v4 to download the models from Emgu server
- Create "opencv" folder in OPENCV_TEMP_PATH for Mac OS to avoid system crash.
Enhancements
- Prepend "emgu" to model download folders.
- Optimization on CvString.
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.8.1
Online Documentation
Change Log
- 4.8.1 is based on the Open CV 4.8.1 release.
- Added DnnInvoke.ReadNetFromTFLite
- The debian build (and the nuget packages) now targets debian bookworm instead of bulleye
Bug Fixes
- Fixed issue 882: "The input Mat is empty" caused by incorrect argument test
Enhancements
- Updated Yunet model to V2
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.8.0
Online Documentation
Change Log
- 4.8.0 is based on the Open CV 4.8.0 release.
- Updated OpenVino to 2023.1.0 (from 2022.3.0)
- Update tesseract to 5.3.2 from 5.3.0
- Updated leptonica to 1.83.1 (from 1.83.0)
- Updated VTK to 9.2.6 (from 9.2.4)
- Make Mat & UMat class JSON serializable.
- Added Emgu.CV.Models.Superres
- Added ReduceSum2 for ReduceType.
- Added CvInvoke.HasNonZero
- Added QRCodeDetectorAruco.
- Added IProcessAndRenderModel.RenderMethod
- Added Stream.CudaPtr
Bug Fixes
- Fixed issue issue #834 Mat.GetData does not respect the ROI
- Fixed issue issue #840 Missing symbols in xamarin ios mini runtime
- Fixed issue issue #850 Emgu.CV.runtime.maui.mini package is not working in .Net MAUI (.Net6.0/.Net7.0 maccatalyst 16.2) in Mac OS
- Fixed issue issue #32 Ellipse fitting and drawing bug
- Added demo project .resx files missing from release package.
- Fixed simple 3d construction demo.
- Fixed FaceDetectorYN Initialized check condition.
Enhancements
- Set default parameter for CvInvoke.Dft
- Added supress to the MAUI demo project.
- Updated MAUI 6.0 projects to 7.0 (6.0 is out of support)
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.7.0
Online Documentation
Change Log
- 4.7.0 is based on the Open CV 4.7.0 release.
- For the 4.7.0 commercial release, we have setup new nuget repostitories for Professional / Ultimate / Windows commercial license owners. The new repositories no longer have space restrictions. We will be able to keep unlimited amount of nuget packages in the repositories. Please log-in using your credential to find out the link to the updated nuget repository.
- Added Emgu CV maui runtime package. For MAUI developement, adding this single runtime package will enable you to use Emgu CV in all MAUI platforms that are supported by Emgu CV. Our professional commercial license user will have access to this package in our commercial nuget repository. For open source users, adding the Emgu.CV.runtime.maui.mini will let you try out the core functionality of the package. The mini runtime is compiled with a small amount of core functions, if you need to access all functions in Emgu CV you will need a professional commercial license. For Android, the MAUI nuget package will require android-33, please make sure you set the Android API target to 33 before adding this nuget package.
- Added Emgu.CV.runtime.macos nuget package for Mac OS .net commandline / asp .net build. (For MAUI and Xamarin, please use the corresponding runtime, this package is for .Net commandline / asp.net runtime on Mac OS only).
- Updated VTK to 9.2.4. For windows, VTK will be build as dynamic linked libraray (intead of static linked library). There is a static linking issues in 9.2.4 preventing us to static link VTK in cvextern.dll. For Linux (Ubuntu, Raspbian), we will use system managed VTK, which are also dynamic linked.
- Updated OpenVino to 2022.3.0
- CUDA versions are build with CUDA 12.0
- Updated tesseract from 5.1.0 to 5.3.0
- Update leptonica from 1.80.0 to 1.83.0
- For the Ubuntu build, this release is build with system GStreamer and Freetype. Please make sure you have these two pacakges installed before using the Emgu CV Ubuntu build.
- Disable freetype by default on MacOS to removed dependency on homebrew freetype lib
- Updated CudaVideoWriter and CudaVideoReader for OpenCV 4.7
- Updated DNN backend and targets for OpenCV 4.7
- Added DnnInvoke.EnableModelDiagnostics
- Added Net.EnableWinograd function.
- Added DnnInvoke.ReadNetFromTorch, DnnInvoke.ReadTorchBlob & Net.Connect
- Added Emgu.CV.TrackerNano
- Added CvInvoke.StackBlur
- Make it possible to set preferred language in TesseractModel constructor.
- Upgraded DepthAI module from 1.0.0 to 2.15.4, but the API is not completed yet, more development is required to have sufficient coverage. The Emgu CV DepthAI module is experimental. Renamed Emgu.CV.DepthAI to Emgu.CV.Dai
Bug Fixes
- Make CalcBlurriness public issue #811
- Fixed an issues for MAUI mini runtime pacakge where VectorOf${VECTOR_NAME}GetMemorySize function definition is missing.
- Fix Aruco GridBoard creation.
Enhancements
- The .Net MAUI demo project has been upgrader from .Net 6.0 to .Net 7.0
- For .Net MAUI, make it possible to switch AndroidCamera backend in ProcessAndRenderPage
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.6.0
Online Documentation
Change Log
- 4.6.0 is based on the Open CV 4.6.0 release.
- Beta support for Dotnet MAUI (iOS, Android, Mac OS and windows)
- Added mini runtimes to nuget repository. The mini runtime only contains the follow modules: core, highgui, imgcodecs, imgproc & videoio. This is aimed for evaluation purpose, or for applications that requires the smallest amount of binary size while using only basic image processing functions. Here is a list of MAUI compatible nuget packages:
Emgu.CV.runtime.mini.windows Emgu.CV.runtime.maui.mini.android Emgu.CV.runtime.maui.mini.ios Emgu.CV.runtime.maui.mini.macos. Here is a list of Xamarin compatible nuget packages: Emgu.CV.runtime.mini.windows, Emgu.CV.runtime.xamarin.mini.android, Emgu.CV.runtime.xamarin.mini.ios, Emgu.CV.runtime.xamarin.mini.macos If you need access to all the modules, you will need to use the full runtime packages (those without "mini" in the package name).
- iOS binary is built with IPHONEOS_DEPLOYMENT_TARGET:STRING=11.0, Mac Catalyst binary (for MAUI) is built with IPHONEOS_DEPLOYMENT_TARGET:STRING=13.2
- Emgu CV Windows runtime now also contains ARM64 binary (beside of the existing x86 & x86_64 binary).
- CUDA releases are built with 11.8 and supports Ada Lovelace (RTX 4090, RTX 4080, RTX 6000 Ada, L40) and Hopper (H100)
- Updated harfbuzz from 2.7.2 to 4.3.0
- Upgraded eigen from 3.3.7 to 3.4.0
- Upgraded tesseract to 5.1.0
- Upgraded OpenVino version in commercial release to 2022.1
- For iOS commercial release, the "Emgu.CV.runtime.ios" nuget package has been renamed to "Emgu.CV.runtime.xamarin.ios". The new MAUI runtime nuget package for iOS is named "Emgu.CV.runtime.maui.ios".
- For Android commercial release, the "Emgu.CV.runtime.android" nuget package has been renamed to "Emgu.CV.runtime.xamarin.android". The new MAUI runtime nuget package for Android is named "Emgu.CV.runtime.maui.android"
- Moved compiled windows binary to "runtimes\win-x64\native" instead of "x64", "runtimes\win-x86\native" instead of "x86".
- Moved UWP binary output folder to "runtimes\win10-{arch}\native".
- Moved Mac OS binary from "libs\macos" to "libs\runtimes\osx\native".
- Rename Emgu.CV.Platform.NetStandard.dll to Emgu.CV.dll
- Added Emgu.runtime.windows.zlibwapi.x64 nuget package for Emgu CV cuda build.
- Added Emgu.CV.Wpf nuget package.
- Added Detector, Modality & Match class in Emgu.CV.Linemod module
- Added NSImage.ToArray extension method.
- Updated YUV color conversion code to match those of Open CV.
- Return double value for Fisheye.Calibrate & Fisheye.StereoCalibrate.
- Return the correct value for CountNonZero, Solve, Invert, Mahalanobis & EMD functions in CvInvoke class.
- Correct spelling errors (distor -> distort)
- Make it possible to check if native code is build with GAPI or RGBD module.
- Added NonLocalMeans, FastNlMeansDenoising & FastNlMeansDenoisingColored to CudaInvoke
- Added SetLabelInfo and SetLabelInfo to FaceRecognizer.
- Added Prepare, Feed & Blend function to Blender.
- Add psr_threshold parameter to CSRT tracker (Thanks to Muny)
- Remove ArucoInvoke.DrawAxis, it is no longer available in Open CV 4.6.0
- Added CvInvoke.DecomposeEssentialMat (discussion #724).
- Added CvInvoke.DecomposeHomographyMat
- Added build script for ubuntu 22.04, CvInvoke will try "libdl.so.2" when "libdl.so" failed (for ubuntu 22.04).
- Tracker accepts IInputArray instead of Mat.
- Added option to convert BitmapSource into existing Mat.
- Implemented PPF3DDetector issue#747
- If DllDirectory is set, use it to look for cvextern binary.
- Added SetPreferableBackend & SetPreferableTarget function to SuperResImpl
- Added function overload for RegisterModelToScene with multiple initial poses for Emgu.CV.PpfMatch3d.ICP
- Added Tesseract.Datapath property
- Added BeginDocument, AddImage & EndDocument extension methods for ITessResultRenderer
- Enable initializing Tesseract language model from memory.
Bug Fixes
- Fixed issue #762: cveUMatCreate does not pass UMatUsageFlags flags
- Fixed issue #682, added "channels" parameter for CvInvoke.InitUndistortRectifyMap
- Fixed the code to create PCAFlow
- Safe handling of empty text for Tesseract.GetCharacters() function.
- Removed UnmanagedVector.EndAddress property, it may cause access violation.
Enhancements
- Xamarin Android demo now use TargetFrameworkVersion of 12 and targetSdkVersion to 31.
- In Xamarin Android demo, use Open CV GAPI (instead of obsoleted renderscript) to decode YUV camera data.
- Added TF.Lite.Interop demo.
- Moved VideoSurveillance demo into Xamarin Forms demo.
- Moved MotionDetection to Xamarin Forms demo.
- Added FaceDetectorYN demo.
- Use httpclient instead of webclient in Emgu.CV.Models
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.5.5
Online Documentation
Change Log
- 4.5.5 is based on the Open CV 4.5.5 release.
- Upgraded Tesseract OCR from 4.1.1 to 5.0
- Make DnnSuperResImpl public (rather than internal)
- Added VideoWriter.BackendName
- Added XImgproc.ScanSegment class.
- Added Emgu.CV.XImgproc.RadonTransform
- Add conventional Bayer naming for color conversion.
- Added additional CapProp to support audio capture with MSMF and GStream backend.
- Emgu.CV.Bitmap depends on System.Drawing.Common 6.0 (upgrade from 5.0.2)
Enhancements
- Demo project that was based on .Net 5 has been migrated to .Net 6
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.5.4
Online Documentation
Change Log
- 4.5.4 is based on the Open CV 4.5.4 release.
- Nuget packages are now signed.
- For cuda release, also compile with CUDA compute 6.0, 7.0 and 8.0 (will have larger binary size).
- Added Reg module.
- Added Rgbd module
- Added structured light module.
- Added Emgu.CV.Ccm.ColorCorrectionModel
- Added DnnInvoke.SoftNMSBoxes
- Added CTC prefix beam search decode for TextRecognitionModel
- Added FaceDetectorYN & FaceRecognizerSF from objdetect module.
Enhancements
- Install debugger visualizer for vs2022 from the ".exe" installer package.
Bug Fixes
- Fixed VideoCapture dispose issue.
- Fixed pushing VectorOfMat into VectorOfVectorOfMat
- Fixed issue #346
- Only dispose GpuMat if _needDispose is true.
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.5.3
Online Documentation
Change Log
- 4.5.3 is based on the Open CV 4.5.3 release.
- Added Barcode module.
- Added TrackerDaSiamRPN
- Make Emgu.CV.runtime.macos nuget package compatible with .netstandard 2.0
- Added a Bitmap.ToMat overload to convert Bitmap to existing Mat.
- Added OpenCV API that supported UMat/OpenCL hardware-accelerated video decoding/encoding through FFmpeg backend.
- Added GapiInvoke.Transpose
- Added GapiInvoke.Stereo
- Exclude DepthAI module from MacOS build due to the dependency issues with libusb-1.0.0.dylib
Enhancements
- Added BarCode and QRCode detector demo for Xamarin Forms.
Bug Fixes
- Fixed issue #529 Wrong result of MulTransposed
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
- VideoCapture class do not release memory during disposal. This has been fixed in this commit. If your application create multiple VideoCapture and memory usage is a concern, please use the older 4.5.2 release or wait for the next release.
Emgu.CV-4.5.2
Online Documentation
Change Log
- 4.5.2 is based on the Open CV 4.5.2 release.
- Added gapi module.
- Added WechatQrcode module.
- Added experimental Emgu.CV.DepthAI module for using OAK-D devices. A demo project can be found under "Emgu.CV.Example/DepthAI" folder in the release package.
- Added Emgu.CV.Model namespace & nuget package to simiplify certain Open CV / DNN model download & initialization process.
- Added VideoStabInvoke.CalcBlurriness
- Added Hardware Acceleration option for VideoCapture and VideoWriter. See Open CV documentation here for detail. e.g. here is how to create a VideoCapture from file with MSMF harware acceleration:
VideoCapture capture = new VideoCapture(fileName, VideoCapture.API.Msmf, new Tuple<CapProp, int>(CapProp.HwAcceleration, (int) VideoAccelerationType.Any))
- Added VectorOfVideoCapture
- Renamed VideoCapture.GetCaptureProperty to VideoCapture.Get
- Added VideoCapture.WaitAny function
- Added DnnInvoke.NMSBoxes overload to handle RotatedRect
- Added into Emgu.CV.Dnn namespace the following classes: TextDetectionModel, TextRecognitionModel, DetectionModel, ClassificationModel, KeypointsModel and SegmentationModel
- Added CvInvoke.LogLevel
- Added CvInvoke.SetParallelForBackend function.
- Added CvInvoke.PollKey
- Added IntelligentScissorsMB
- Added CvInvoke.HaveOpenVX, CvInvoke.UserOpenVX properties.
- Added CvInvoke.Imwritemulti, CvInvoke.HaveImageReader & CvInvoke.HaveImageWriter
- Added Imencode function overload that return byte array.
- Added into Emgu.CV.XFeatures2D namespace the following: BEBLID & TMBR classes and the XFeatures2DInvoke.MatchLOGOS function.
- Added additional GpuFeature enumeration.
- Added Stream constructor that accept flag.
- Added ResetDevice, ConvertFP16, PrintCudaDeviceInfo, PrintShortCudaDeviceInfo to CudaInvoke.
- Added NvidiaOpticalFlow_2_0
- Added flags for ImreadModes & ImwriteFlags
- Added option to specify connectedComponents algorithm type.
- Added EdgeDrawing
- Added CudaInvoke.InRange
- Implemented System.IO.Stream for Vectors.
- Unity TextureConvert.ToOutputArray becomes an extension method that return BGR (instead of RGB) Mat. TextureConvert.ToTexture2D also becomes an extension method.
- Add Emgu.CV.Platform.Mac.dll into Emgu.CV.runtime.macos nuget pacakge
- Added CvEnum.Inter.NearestExact interpolation type.
- Added RQDecomp3x3 & DecomposeProjectionMatrix function to CvInvoke
Enhancements
- Added demo program to use Emgu CV in windows docker image.
- Split up Emgu.runtime.windows.cuda.dnn.cnn nuget package into two: train and infer.
- Improvement on native library loading when running in windows.
- Updated documentation for CvInvoke.CalibrateCamera
Bug Fixes
- Fix issues releasing unmanaged memory for the following classes: EigenFaceRecognizer, FisherFaceRecognizer, LBPHFaceRecognizers, QualityBRISQUE, QualityGMSD, QualityMSE, QualityPSNR, QualitySSIM, QuasiDenseStereo, PCTSignatures, BOWKMeansTrainer & Stitcher
- Fixed issue #424 problem with agast feature detection while returning keypoint
- Fixed issue #445 IMWRITE_JPEG2000_COMPRESSION_X1000 missing from ImwriteFlags
- Fixed issue #449 CvInvoke.Imencode should return a bool
- Fixed a bug where HistogramBox.GenerateHistogram do not use the input "color" parameter for plotting.
- Fixed issue #458 By default, copy (instead of share) data for the Mat.ToBitmap() extension function.
- Fixed issue #222 DenseHistogram Constructor OR RangeF structure documentation missleading
- Fixed issue #512 IL2CPP for unity windows build.
- Fixed issue #123 Added GetGaussianKernel, GetDerivKernels & GetGaborKernel to CvInvoke.
- Fixed issue #158 Removed FlipType.None
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.5.1
Online Documentation
Change Log
- 4.5.1 is based on the Open CV 4.5.1 release.
- Changes in nuget packages:
- For windows, the native binary no longer deploy to "\x86" or "\x64" folder, they are following the nuget native binary guide line, deployed to “runtimes\win-x64\native” or “runtimes\win-x86\native” folder.
- Emgu.CV.runtime.windows.cuda package for this release is not available from nuget.org. If you need to use the Emgu.CV.runtime.windows.cuda package, you can download two large nuget packages ( Emgu.CV.runtime.windows.cuda.4.5.1.4349.nupkg; Emgu.runtime.windows.cuda.dnn.cnn.8.0.4.nupkg ) and hosted it on your local nuget repository. The latest CUDA DNN package has a file "cudnn_cnn_infer64_8.dll" in v8.0.4 that is 688MB in size, after the nuget package compression the nupkg file is still 287MB. Nuget.org has a hard limit in package size of 250MB, this prevent the package being uploaded to nuget.org. Unless NVidia break up "cudnn_cnn_infer64_8.dll" into multiple smaller files, or nuget.org increase the file limit, we will not be able to upload the latest cuda nuget packages into nuget.org. The existing 4.4 release use older version of CUDNN and has nuget package reaching 248MB, we have moved onto newer version of CUDA and CUDNN to support the RTX 30xx series of graphic card and is no longer using the previous version of CUDNN. Commercial license holder will not be affected, we have the Emgu.CV.runtime.windows.cuda package uploaded to our commercial nuget repository which have larger nupkg size limit (500MB).
- Renamed Emgu.CV.runtime.windows.cuda package to Emgu.runtime.windows.cuda. This package is now a common dependency with Emgu.TF.runtime.windows.cuda nuget package.
- Moved the msvc runtime out from Emgu.CV.runtime.windows package to two separate packages: Emgu.runtime.windows.msvc.rt.x86 and Emgu.runtime.windows.msvc.rt.x64.
- Renamed the Emgu.CV.runtime.ubuntu package to Emgu.CV.runtime.ubuntu.20.04-x64 to better reflect the native binary the package contains.
- Renamed the Emgu.CV.runtime.raspbian package to Emgu.CV.runtime.linux-arm. Raspberry pi foundation has renamed raspbian to raspberry os and we are moving away from the name raspbian for this reason.
- The Mac OS native fat binary now contains native ARM64 slice for the apple silicon (as well as x86-64). As soon as .net is available for apple silicon, you will be able to run emgu cv in native arm64 mode for the new Mac.
- iOS native binary is build with XCode 12. Removed x86 simulator from the native iOS binary. x86 simulator is no longer supported in XCode 12.
- CUDA release is now build with CUDA 11.1 and CUDNN 8, the highest CUDA bin option has been increased to 8.6 for RTX 3xxx series. The minimum CUDA bin option has been lowered to 5.2 for older device.
- Windows commercial release now build with OpenVino 2021
- Added MCC module
- Added HDF module
- Enabled Alphamat module for Mac OS and Ubnutu
- Re-enable CudaCascadeClassifier properties.
- Increase IPHONEOS_DEPLOYMENT_TARGET from 8.0 to 9.0 (for XCode 12).
- Added function in BitmapExtension to convert Bitmap to Mat.
- Added VectorOfSize class
- Added TextDetectorCNN class in Emgu.CV.Text module
- Added RetrType.Floodfill for FindContours function.
- Added HDDL target for openvino.
- Renamed CheckLibraryLoaded() to Init()
Enhancements
- Added FreeType demo to Xamarin Forms demo App.
- Use DisparityWLSFilter for Simple3DReconstruct demo.
- Updated demo projects that depends on .Net Core 3.1 to .Net 5
Bug Fixes
- Fixed a bug where lowerBound is not passed to EMD.
- Fixed issue 370: method CalibrateHandEye using wrong input array.
- Fixed issue 393: a bug in IDisparityFilter.Filter function.
- Fixed Emgu.CV.runtime.ubuntu and Emgu.CV.runtime.raspbian nuget package, such that the native binary are correctly deployed.
- Fixed issue 389: UWP compilation with .net native toolchain.
- For windows, when loading native binary, Emgu CV no longer change Enviroment.CurrentDirectory
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.4.0
Online Documentation
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
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
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 thisMat m = bitmap.ToMat()
ForImage<,>.Bitmap
property in 4.1.x and older release, its equivalent in v4.2.0 isImage<,>.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
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
- Fixed the M12 property for Moment class (replace typo M22 to M12).
- Fixed issue 241
- Implement UserColor for applyColorMap issue 264
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
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
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.