Skip to main content
net8.0.NETStandard2.0.NETStandard2.1

OpenCV wrapper for .NET. Since this package includes only core managed libraries, another package of native bindings for your OS is required (OpenCvSharp4.runtime.*).

Published
Mar 8, 2026
7mo ago
Total Downloads
11.8M
11,755,120

Install

dotnet add package OpenCvSharp4 --version 4.13.0.20260308
ProductVersions
.NET
net8.0
.NET Standard
netstandard2.0netstandard2.1

README

OpenCvSharp

A cross-platform .NET wrapper for OpenCV, providing image processing and computer vision functionality.

Supported Platforms

Platform Target Framework
.NET 8.0 or later net8.0
.NET Standard 2.1 netstandard2.1
.NET Standard 2.0 netstandard2.0
.NET Framework 4.6.1+ via netstandard2.0
.NET Framework 4.8 direct target (WpfExtensions only)

Target OpenCV version: 4.13.0 (with opencv_contrib)

Quick Start

Windows

dotnet add package OpenCvSharp4.Windows

Linux / Ubuntu

dotnet add package OpenCvSharp4
dotnet add package OpenCvSharp4.official.runtime.linux-x64

For more installation options, see Installation on GitHub.

Requirements

Windows

Linux (Ubuntu and other distributions)

Pre-install the dependency packages needed for OpenCV. Many packages such as libjpeg must be present for OpenCV to work.
See: OpenCV Linux install guide

Slim Profile

The slim runtime packages (OpenCvSharp4.Windows.Slim, OpenCvSharp4.official.runtime.linux-x64.slim, etc.) bundle a smaller native library:

Modules
Enabled core, imgproc, imgcodecs, calib3d, features2d, flann, objdetect, photo
Disabled contrib, dnn, ml, video, videoio, highgui, stitching, barcode

Usage

Always release Mat and other IDisposable resources using the using statement:

using OpenCvSharp;

// Edge detection using Canny algorithm
using var src = new Mat("lenna.png", ImreadModes.Grayscale);
using var dst = new Mat();

Cv2.Canny(src, dst, 50, 200);
using (new Window("src image", src))
using (new Window("dst image", dst))
{
    Cv2.WaitKey();
}

For complex pipelines, use ResourcesTracker to manage multiple resources automatically:

using var t = new ResourcesTracker();

var src = t.T(new Mat("lenna.png", ImreadModes.Grayscale));
var dst = t.NewMat();
Cv2.Canny(src, dst, 50, 200);
var blurred = t.T(dst.Blur(new Size(3, 3)));
t.T(new Window("src image", src));
t.T(new Window("dst image", blurred));
Cv2.WaitKey();

Note: OpenCvSharp does not support Unity, Xamarin, CUDA or UWP.

Resources

Changes from Previous Version

No structural changes between v4.13.0.20260302 and v4.13.0.20260308.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 3 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.