C#OpenCV

C#(.NET)からOpenCVを使う方法、OpenCvSharpのインストール方法

OpenCVはシンプルな画像表示用のウィンドウも用意されているので、簡単に画像処理を試したい場合には非常に良いのですが、少し凝ったウィンドウを作成しようとすると、やっぱり.NETからOpenCVを触りたくなります。

 

.NETの言語(VB.NET、C#、C++/CLI)からOpenCVを使う方法は、だいたい以下の通り

  • .NETのラッパーライブラリを使う
  • 自作でラッパーライブラリを作成する
  • C++/CLIから直接使う

となりますが、実質的にはOpenCvSharpを使う事になると思います。

 

OpenCvSharpのインストール方法は、現在ではNuGetによりプロジェクトごとにインストールします。

 

OpenCvSharpのインストール方法

まず、インストールするC#プロジェクトを用意します。

新規でC#プロジェクトを作成する場合は、次のように行います。

Visual Studio を起動後、新しいプロジェクトの作成をクリックします。

OpenCvSharpのインストール方法

次に Windowsフォームアプリケーション(.NET FRamework)を選択し、次へをクリックします。

OpenCvSharpのインストール方法

プロジェクト名、場所を指定し、作成をクリックします。

OpenCvSharpのインストール方法

これで、以下のようにフォームが表示されたらベースとなるC#プロジェクトが作成されています。

OpenCvSharpのインストール方法

 

次に、このC#プロジェクトにNuGetでOpenCvSharpをインストールします。

メニューのプロジェクト→NuGetパッケージの管理をクリックします。

OpenCvSharpのインストール方法

表示された画面で、 参照 を選択し、その下のテキストボックスに OpenCvSharp と入力すると、OpenCvSharpの一覧が表示されるので、この中から OpenCvSharp.Windows を選択します。

OpenCvSharpのインストール方法

OpenCvSharp.Windows を選択すると、右側に インストール ボタンが表示されるので、これをクリックします。

OpenCvSharpのインストール方法

しばらくすると、インストールが完了します。

OpenCvSharpがインストールされたか?確認するには、プロジェクトの参照の部分の表示を展開すると、OpenCvSharpの名前空間が表示されている事を確認します。

OpenCvSharpのインストール方法

簡単にOpenCvSharpの動作を確認します。

ツールボックスの中から Button を選択し、フォーム上にドラッグ&ドロップします。

OpenCvSharpのインストール方法

ボタンをダブルクリックし、C#コードを表示し、上の方に、

using OpenCvSharp;

と入力し、ボタンイベントの部分に以下のように記載します。

private void button1_Click(object sender, EventArgs e)
{
    var img = new Mat(new OpenCvSharp.Size(256, 256), MatType.CV_8UC3, new Scalar(35, 123, 254));

    Cv2.ImShow("Image", img);
}

参考までに、Formの全コードを示します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using OpenCvSharp;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var img = new Mat(new OpenCvSharp.Size(256, 256), MatType.CV_8UC3, new Scalar(35, 123, 254));
            Cv2.ImShow("Image", img);
        }
    }
}

この状態で、▶開始 ボタンをクリックし、以下のように表示されれば OpenCvSharp のインストールは成功しています。

OpenCvSharpのインストール方法

 

OpenCvSharpを使うポイント

2021年現在、OpenCVの情報はPythonであふれているので、OpenCvSharpの情報を探すのは難しくなってきています。

OpenCvSharpの情報を入手するには、少し古くなりましたが、作者であるSchimaさんのページを参照することをお勧めします。

OpenCvSharp カテゴリーの記事一覧 - schima.hatenablog.com
schima.hatenablog.com

リファレンスは英語になりますが、こちらです。

Namespace OpenCvSharp

 

あとは、OpenCvSharpは基本的にOpenCVのC++版のラッパーライブラリであるため、OpenCVのC++の情報を検索し、OpenCvSharpでは、どうするのか?を推測するのもイイかと思います。

 

参考

GitHub - shimat/opencvsharp: OpenCV wrapper for .NET
OpenCV wrapper for .NET. Contribute to shimat/opencvsharp development by creating an account on GitHub.
Namespace OpenCvSharp
OpenCvSharpをつかう その17(NuGetで導入) - schima.hatenablog.com
前々からの野望だったNuGetパッケージを、このたび公開しました! その1で紹介した方法よりもずっと簡単に使い始めることができるはずです。OpenCVの事前インストールも不要です。まだ作りたてほやほやなので変更されるかもしれませんが、ひとま...

OpenCVへ戻る

コメント

  1. […] C#(.NET)からOpenCVを使う方法、OpenCvSharpのインストール方法 […]

タイトルとURLをコピーしました