C# C++ C Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.


OpenCvSharp Build status

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 'opencvsharp3' on the NuGet Package Manager.

Package NuGet
OpenCV3.3.1 All-in-one package - bundles native OpenCV DLLs NuGet version
OpenCV3.3.1 Minimum package NuGet version


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




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)) 


  • 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 Build Instructions

  • Install Visual Studio 2017 or later
    • VC++ features are required.
  • Get all submodules
git submodule update --init --recursive
  • Get tesseract and leptonica libs
    • Unzip x64.zip and x86.zip in tesseract\build\v141
  • Build OpenCvSharp
    • Open OpenCvSharp.sln and build


OpenCvSharp is licensed under the BSD 3-Clause License. See LICENSE.

OpenCvSharp.Blob uses cvBlob to implement blob extraction.