1 Star 0 Fork 0

darbblue / opencvsharp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

OpenCvSharp CircleCI Status Appveyor Build status Github Actions Ubuntu Status Github Actions MacOS Status GitHub license

Cross platform wrapper of OpenCV for .NET Framework.

Old versions of OpenCvSharp are stored in opencvsharp_2410.

Installation

NuGet

Package Description Link
OpenCvSharp4 OpenCvSharp core libraries NuGet version
OpenCvSharp4.Windows All-in-one package for Windows (except UWP) NuGet version
OpenCvSharp4.runtime.win Native bindings for Windows x64/x86 (except UWP) NuGet version
OpenCvSharp4.runtime.uwp Native bindings for UWP (Universal Windows Platform) x64/x86/ARM NuGet version
OpenCvSharp4.runtime.ubuntu.18.04-x64 Native bindings for Ubuntu 18.04 x64 NuGet version
OpenCvSharp4.runtime.ubuntu.16.04-x64 (beta) Native bindings for Ubuntu 16.04 x64. This is for Google AppEngine Flexible and made in gcr.io/google-appengine/aspnetcore:2.1 docker image. NuGet version
OpenCvSharp4.runtime.osx.10.15-x64 Native bindings for macOS 10.15 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, UWP, Ubuntu 18.04/16.04 and macOS are released.

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

OpenCvSharp3-AnyCPU / OpenCvSharp3-WithoutDll / OpenCvSharp-AnyCPU / OpenCvSharp-WithoutDll

Windows (except UWP)

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

UWP

Add OpenCvSharp4 and OpenCvSharp4.runtime.uwp NuGet packages to your project. Note that OpenCvSharp4.runtime.win and OpenCvSharp4.Windows don't work for UWP.

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

Ubuntu 16.04 (Google AppEngine Flexible)

Add OpenCvSharp4 and OpenCvSharp4.runtime.ubuntu.16.04.x64 (beta) NuGet packages to your project.

Downloads

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

Target OpenCV

Requirements

PS1> Install-WindowsFeature Server-Media-Foundation

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

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 into Bitmap(GDI+) or WriteableBitmap(WPF).

Code samples

https://github.com/shimat/opencvsharp_samples/

Documents

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

OpenCvSharp Build Instructions

Windows

  • Install Visual Studio 2019 or later
    • VC++ features are required.
  • Run download_opencv_windows.ps1 to download OpenCV libs and headers from https://github.com/shimat/opencv_files. Those lib files are precompiled by the owner of OpenCvSharp using AppVeyor CI.
.\download_opencv_windows.ps1
  • Build OpenCvSharp
    • Open OpenCvSharp.sln and build

How to customize OpenCV binaries yourself

If you want to use some OpenCV features that are not provided by default in OpenCvSharp (e.g. GPU), you will have to build OpenCV yourself. The binary files of OpenCV for OpenCvSharp for Windows are created in the opencv_files repository. See the README.

  • git clone --recursive https://github.com/shimat/opencv_files
  • Edit build_windows.ps1 or build_uwp.ps1 to customize the CMake parameters .
  • Run the PowerShell script.

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.

Chat

https://riot.im/app/#/room/#opencvsharp:matrix.org

Donations

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

https://github.com/sponsors/shimat

BSD 3-Clause License Copyright (c) 2019, shimat All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

暂无描述 展开 收起
BSD-3-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/darkblue/opencvsharp.git
git@gitee.com:darkblue/opencvsharp.git
darkblue
opencvsharp
opencvsharp
master

搜索帮助