Cross platform wrapper of OpenCV for .NET Framework.
Old versions of OpenCvSharp is maintained in opencvsharp_2410.
If you have Visual Studio 2012 or later, it is recommended to use NuGet. Search 'opencvsharp' on the NuGet Package Manager.
Package | NuGet |
---|---|
OpenCV3.2 All-in-one package - bundles native OpenCV DLLs | |
OpenCV3.2 Minimum package |
If you do not use NuGet, get DLL files from the release page.
OpenCvSharp may not work on Unity platform. Please consider using OpenCV for Unity
https://shimat.github.io/opencvsharp_docs/index.html
For more details, see the Wiki page.
// Edge detection by Canny algorithm
using OpenCvSharp;
class Program
{
static void Main()
{
Mat src = new Mat("lenna.png", ImreadModes.GrayScale);
// Mat src = Cv2.ImRead("lenna.png", ImreadModes.GrayScale);
Mat dst = new Mat();
Cv2.Canny(src, dst, 50, 200);
using (new Window("src image", src))
using (new Window("dst image", dst))
{
Cv2.WaitKey();
}
}
}
- 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/IplImage into Bitmap(GDI+) or WriteableBitmap(WPF).
- OpenCvSharp can work on Mono. It can run on any platform which Mono supports (e.g. Linux).
OpenCvSharp is licensed under the BSD 3-Clause License. See LICENSE.
OpenCvSharp.Blob uses cvBlob to implement blob extraction.