Skip to content
.NET Framework wrapper for OpenCV
Branch: master
Clone or download
Latest commit abe75e9 Apr 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github added ISSUE_TEMPLATE.md May 25, 2017
nuget fix version Apr 16, 2019
opencv_files_410 @ 575b4c9 4.1.0 submodule Apr 16, 2019
samples @ 9a95054 ReleaseMaker 4.0.1 Mar 26, 2019
src
test/OpenCvSharp.Tests 4.0.1 Mar 22, 2019
tool move NupkgBetaRemover Apr 16, 2019
web/img replaced master from OpenCV2 to OpenCV3 Aug 29, 2015
.gitattributes
.gitignore git submodule deinit tesseract Nov 16, 2018
.gitmodules
.travis.yml 4.0.1 -> 4.1.0 Apr 15, 2019
Dockerfile
LICENSE
OpenCvSharp.shfbproj shfbproj minor change Jun 28, 2017
OpenCvSharp.sln move NupkgBetaRemover Apr 16, 2019
OpenCvSharp.sln.DotSettings add C# wrapper functions of superres props Mar 9, 2019
README.md Update README.md Apr 17, 2019
appveyor.yml remove opencv_files_401 Apr 16, 2019

README.md

OpenCvSharp Build status GitHub license

Cross platform wrapper of OpenCV for .NET Framework.

Old versions of OpenCvSharp are maintained in opencvsharp_2410.

Installation

NuGet

Package Description Link
OpenCvSharp4 OpenCvSharp core libraries NuGet version
OpenCvSharp4.Windows All-in-one package for Windows - same as OpenCvSharp3-AnyCPU NuGet version
OpenCvSharp4.runtime.win Native bindings for Windows x64/x86 NuGet version
OpenCvSharp4.runtime.ubuntu.18.04-x64 Native bindings for Ubuntu 18.04 x64 NuGet version
(beta packages) Development Build Package https://ci.appveyor.com/nuget/opencvsharp

Native binding (OpenCvSharpExtern.dll / libOpenCvSharpExtern.so) is required to work OpenCvSharp. To use OpenCvSharp, you should add both OpenCvSharp4 and OpenCvSharp4.runtime.* packages to your project. Currently, native bindings for Windows and Ubuntu 18.04 are released.

Packages named OpenCvSharp3-* and OpenCvSharp-* are deprecated.

Windows

Add OpenCvSharp4 and OpenCvSharp4.runtime.win NuGet packages to your project. You can use OpenCvSharp4.Windows instead.

Ubuntu 18.04

Add OpenCvSharp4 and OpenCvSharp4.runtime.ubuntu.18.04.x64 NuGet packages to your project

dotnet new console -n ConsoleApp01
cd ConsoleApp01
dotnet add package OpenCvSharp4
dotnet add package OpenCvSharp4.runtime.ubuntu.18.04-x64
# -- edit Program.cs --- # 
dotnet run

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 samples and Wiki pages.

// 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 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 -j 
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 OpenCvSharp4 NuGet package to your project
dotnet new console -n ConsoleApp01
cd ConsoleApp01
dotnet add package OpenCvSharp4
# -- edit Program.cs --- # 
dotnet run

Older Ubuntu

Refer to the Dockerfile and Wiki pages.

License

Licensed under the BSD 3-Clause License.

Donations

If you find the OpenCvSharp library useful and would like to show your gratitude by donating, here are some donation options. Thank you.

Type Address
BTC (Bitcoin) 3EWhyNe3xzNNrbUgk4nXAVEkaWdpGncotc
BCH (Bitcoin Cash) 3EWhyNe3xzNNrbUgk4nXAVEkaWdpGncotc
ETH (Ethereum) 0x8a6089d60812ec88822d81bc6c65ba4ae63ea269
LTC (Litecoin) LLpmBjjVGZf93MEohEZpkADMpnyqAS3iQC
You can’t perform that action at this time.