Skip to content

oymy/opencvsharp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#OpenCvSharp Cross platform wrapper of OpenCV for .NET Framework.

OpenCVを.NET Frameworkから利用するための、クロスプラットフォームで動作するラッパーです。

Installation

NuGet

If you have Visual Studio 2012 or later, it is advisable to use NuGet. Search 'opencvsharp' on the NuGet Package Manager.

Downloads

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

Requirements

Features

  • OpenCvSharp wraps more OpenCV's functions than SharperCV and OpenCVDotNet.
  • 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 IplImage into Bitmap(GDI+) or WriteableBitmap(WPF).
  • OpenCvSharp can work on Mono. It can run on any platform which Mono supports (e.g. Linux and MacOSX).

  • OpenCvSharpはSharperCVやOpenCVDotNetといった他のOpenCVのラッパーよりも多くの関数を実装しています。
  • 多くのクラスがIDisposableインターフェイスを実装しているので、ネイティブリソース管理が容易です。
  • オブジェクト指向な書き方を強制しません。OpenCVのネイティブの関数をそのままの形式で呼べます。
  • GDI+やWPFとの相互利用が可能です。OpenCVのIplImageとGDI+のBitmapやWPFのWriteableBitmapとの変換機能があります。
  • Monoに対応しています。LinuxやMacOSX等のクロスプラットフォームで動作します。  

Usage

For more details, see the Wiki page.

C style

// Edge detection by Canny algorithm
using OpenCvSharp;

class Program 
{
    static void Main() 
    {
        IplImage src = Cv.LoadImage("lenna.png", LoadMode.GrayScale);
        IplImage dst = Cv.CreateImage(new CvSize(src.Width, src.Height), BitDepth.U8, 1);
        Cv.Canny(src, dst, 50, 200);
        Cv.NamedWindow("src image");  
        Cv.ShowImage("src image", src);
        Cv.NamedWindow("dst image");  
        Cv.ShowImage("dst image", dst);
        Cv.WaitKey();
        Cv.DestroyAllWindows();
        Cv.ReleaseImage(src);
        Cv.ReleaseImage(dst);          
    }
}

Wrapper-style (for OpenCV C Interface)

// Edge detection by Canny algorithm
using OpenCvSharp;

class Program 
{
    static void Main() 
    {
        using (IplImage src = new IplImage("lenna.png", LoadMode.GrayScale))
        using (IplImage dst = new IplImage(src.Size, BitDepth.U8, 1)) 
        {
            src.Canny(dst, 50, 200);
            using (new CvWindow("src image", src)) 
            using (new CvWindow("dst image", dst)) 
            {
                Cv.WaitKey();
            }
        }
    }
}

C++ style

// Edge detection by Canny algorithm
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;

class Program 
{
    static void Main() 
    {
        Mat src = new Mat("lenna.png", LoadMode.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();
        }
    }
}

License

OpenCvSharp is released under the LGPL.

This library uses cvBlob to implement blob extraction. cvBlob is under the LGPL, so OpenCvSharp follows the cvBlob licensing.

Bitdeli Badge

About

OpenCV wrapper for .NET Framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published