Skip to content

julian9012/opencvsharp

 
 

Repository files navigation

OpenCvSharp Build status GitHub license

Cross platform wrapper of OpenCV for .NET Framework.

Old versions of OpenCvSharp is maintained in opencvsharp_2410.

Installation

NuGet

Search 'opencvsharp3' on the NuGet Package Manager.

Package NuGet
All-in-one package - bundles native OpenCV DLLs NuGet version
Minimum package NuGet version
Development Build Package https://ci.appveyor.com/nuget/opencvsharp

Downloads

If you do not use NuGet, get DLL files from the release page.

Requirements

OpenCvSharp may not work on UWP and Unity platform. Please consider using OpenCV for Unity

Documents

https://shimat.github.io/opencvsharp_docs/index.html

Usage

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();
        }
    }
}

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

Windows

  • Install Visual Studio 2017 or later
    • VC++ features are required.
  • Get all submodules
git submodule update --init --recursive
  • Build tesseract and leptonica using vcpkg
.\vcpkg install tesseract:x64-windows-static
.\vcpkg install tesseract:x86-windows-static
.\vcpkg integrate install
  • Build OpenCvSharp
    • Open OpenCvSharp.sln and build

Ubuntu 18.04

git clone https://github.com/shimat/opencvsharp.git
cd opencvsharp
git fetch --all --tags --prune && git checkout ${OPENCVSHARP_VERSION}
  • Build native wrapper OpenCvSharpExtern
cd opencvsharp/src
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=${YOUR_OPENCV_INSTALL_PATH} ..
make -j4 
make install

You should add reference to opencvsharp/src/build/OpenCvSharpExtern/libOpenCvSharpExtern.so

export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/home/shimat/opencvsharp/src/build/OpenCvSharpExtern"
  • Add OpenCvSharp3-WithoutDll NuGet package to your project
dotnet new console ConsoleApp01
cd ConsoleApp01
dotnet add package OpenCvSharp3-WithoutDll
dotnet run

Older Ubuntu

Refer to the Dockerfile and Wiki pages.

License

Licensed under the BSD 3-Clause License.

About

.NET Framework wrapper for OpenCV

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 90.5%
  • C++ 7.8%
  • C 1.4%
  • Other 0.3%