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 |
---|---|
All-in-one package - bundles native OpenCV DLLs | |
Minimum package | |
Development Build Package | https://ci.appveyor.com/nuget/opencvsharp |
If you do not use NuGet, get DLL files from the release page.
- OpenCV 3.4.1
- Visual C++ 2017 Redistributable Package
- .NET Framework 2.0 or later / .NET Core 2.0 / Mono
OpenCvSharp may not work on UWP and 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).
- Install Visual Studio 2017 or later
- VC++ features are required.
- Get all submodules
git submodule update --init --recursive
- Build tesseract and leptonica
- Open
tesseract/tesseract.sln
and build
- Open
- Build OpenCvSharp
- Open
OpenCvSharp.sln
and build
- Open
Licensed under the BSD 3-Clause License.