OpenCV wrapper for .NET. Some Docker images are provided to use OpenCvSharp with AppEngine Flexible. The native binding (libOpenCvSharpExtern) is already built in the docker image and you don't need to worry about it. OpenCvSharp won't work on Unity and Xamarin platform. For Unity, please consider using OpenCV for Unity or some other solutions. OpenCvSharp does not support CUDA. If you want to use the CUDA features, you need to customize the native bindings yourself. Objects of classes, such as Mat and MatExpr, have unmanaged resources and need to be manually released by calling the Dispose() method. Worst of all, the +, -, *, and other operators create new objects each time, and these objects need to be disposed of, or there will be memory leaks. Despite the using syntax, the code still looks very verbose.
Features
- OpenCvSharp is modeled on the native OpenCV C/C++ API style as much as possible
- Many classes of OpenCvSharp implement IDisposable
- There is no need to manage unsafe resources
- OpenCvSharp does not force object-oriented programming style on you
- You can also call native-style OpenCV functions
- OpenCvSharp provides functions for converting from Mat into Bitmap(GDI+) or WriteableBitmap(WPF).