解析エンジニアの自動化 blog

コツコツと自動化した方法を残す blog

Visual Studio 2017 の C# で OpenCvSharp を NuGet からインストールする



こんにちは。
仕事の自動化にやりがいと達成感を感じるガッくんです。


この記事の目次



背景・目的


以前の記事で、 OpenTK をダウンロードして Visual Studio 2017 で使用出来るように設定しました。

Visual Studio 2017 の C# で OpenTK を手動で使えるようにする - 解析エンジニアの自動化 blog


なかなか手間のかかる作業で、すぐに忘れてしまうと思います。

OpenTK は設定してしまったので、 NuGet から OpenCvSharp を設定してみます。



動作環境


Windows 7
Visual Studio 2017
・OpenCvSharp



環境設定

VS 2017 でプロジェクトの新規作成

『新しいプロジェクトの作成』を押します。

図1 Visual Studio 初期画面


Windows フォーム アプリケーション』を選択して、プロジェクト名を入力します。

図2 プロジェクト設定


新しいプロジェクトが出来ました。

図3 プロジェクト作成したところ


NuGet からインストール

メニューバーの『プロジェクト』の『NuGetパッケージの管理』をクリックする。

図4 NuGet 表示


『参照』タブを開いて、検索テキストボックスに『opencvsharp』と入力すると、OpenCV関連のパッケージが表示されるので、『OpenCv Sharp-AnyCPU』を選択して、『インストール』ボタンを押します。

図5 インストール


以上でインストール終了です。



テスト

テストとして、OpenCVを使用してみます。

GUI

ボタンが1つだけのGUIを作成します。

図6 GUI


関数作成

作成したボタンをダブルクリックすると、ソースコードを書き込む関数が作成されます。

図7 作成された関数


赤枠の中にソースコードを書き込みます。

図8 ソースコードを書く場所


ソースコード

図8 の赤枠で囲まれたソースコードを書く場所に下のソースコードを書き入れます。


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;
using OpenCvSharp.CPlusPlus;
 
namespace OpenCvsharp_Sample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            // Mat クラスで画像を作成する
            int screenHeight = 620;
            int screenWidth = 400;
            Mat img = new Mat(screenHeight, screenWidth, MatType.CV_8UC3, new Scalar(0, 0, 0));
 
            // 円を描画する
            Cv2.Circle(img, new OpenCvSharp.CPlusPlus.Point(180, 150), 150, new Scalar(255, 255, 255), 3);
 
            // 矩形を描画
            Cv2.Rectangle(img, new OpenCvSharp.CPlusPlus.Rect(180, 150, 150, 100), new Scalar(0, 255, 0), 2);
 
            // 画像表示
            Cv2.ImShow("Image", img);
        }
    }
}



結果

ボタンを押すと丸と四角が描画された『Image』というウィンドウタイトルのウィンドウが表示されます。

図10 OpenCvSharp



コメント

NuGet の簡単さは素晴らしいですね!!

python でいう pip みたいなものですかね!

OpenCV は画像処理系のライブラリとしては有名ですし、色んな関数があるので、ドンドン使いたいです!



以上