SSブログ

OpenCVをC#で使う(OpenCvSharpインストール編) [OpenCV]

OpenCVの対応言語はC/C++、Java、Pythonだけであり、.Netには対応してない。しかしWeb上には.NET(C#)で使うためのラッパーがいくつか存在する。Webで調べたところでは、Emgu CV、OpenCVDotNet、OpenCvSharpの3つを見つけた。

今回、OpenCvSharpを利用することにした。理由は2つある。1つ目の理由は、Emgu CVとOpenCVDotNetの2つはGPLライセンスであること、2つ目の理由はOpenCvSharpの開発者が日本人でありドキュメントが揃っている事である。

1.インストール

以下のサイトから、それぞれの最新版である本体、サンプルおよびマニュアルをダウンロードする。

  • OpenCvSharp-2.4.5-x64-20131009.zip
  • Sample-2.4.5-20130711.zip
  • Documentation-Jp-2.1-20100508.chm / Documentation-Jp-2.1-20100508.zip

https://code.google.com/p/opencvsharp/downloads/list

image

また詳細は以下の作者のページを参考とします。http://schima.hatenablog.com/entries/2009/06/16#1245081217

インストール作業は特に内容です。ただしVisual C++ 再領布可能パッケージのインストールが必要です。以下の中から自分の環境に合わせてインストールします。

x86
Visual C++ 2010 Redistributable Package (x86)
Visual C++ 2008 SP1 Redistributable Package (x86)
Visual C++ 2005 SP1 Redistributable Package (x86)

x64
Visual C++ 2010 Redistributable Package (x64)
Visual C++ 2008 SP1 Redistributable Package (x64)
Visual C++ 2005 SP1 Redistributable Package (x64)

2.使い方

① Visual Studioのプロジェクトを作成する。

ファイルをすべてプロジェクトにいれる。ファイルを選択しソリューションエクスプローラにドラッグ&ドロップします。

image

② OpenCvSharpExtension.dllのコピー設定

ソリューションエクスプローラから””を選択し、プロパティから「出力ディレクトリにコピーする」を「新しい場合はコピーする」に編集します。

image

③ 参照設定

「ソリューションエクスプローラ」の「参照設定」を右クリックし「参照の追加」を選択する。

image

「参照の追加」のダイアログからすべてのOpenCvSharp関連のDLLを参照に追加します。

image

ただし、OpenCvSharpExtern.dllのみ参照設定しない。(できない)

image

3.動作確認

以下のコードを記述し実行する。

image

以下のエラーが出た場合

image

① OpenCVのDLLもソリューションエクスプローラに加える。

OpenCVのバージョンを合わせる必要がある。今回の場合、OpenCvSharpのバージョンが2.4.5 64bit版のためOpenCVも下記のサイトから2.4.5 64bit版を入手しDLLをソリューションエクスプローラに加える。

http://opencv.org/downloads.html

このアプリケーションの場合、3つのDLLをソリューションエクスプローラにに加え、すべての「出力ディレクトリにコピー」プロパティを「新しい場合はコピーする」に設定する。

注意点として、ビルドのプラットフォーム設定を「x64」と整合を取る必要があります。

image

OpenCV、OpenCvSharp、Visual C++ Redistributable Package のバージョンとプラットフォーム、さらにC#のビルドプラットフォームが同じになると正常にプログラムが起動します。

以下のウィンドウが出れば成功です。

image

以上で「OpenCvSharpインストール編」を終了します。

 

参考サイト


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。