連載
» 2016年03月18日 05時00分 公開

OpenCV入門【3.0対応】:第3回 OpenCVの環境構築(OpenCV 3.0/3.1) (3/3)

[@dandelion1124,著]
前のページへ 1|2|3       

4. NuGetを使ったインストール

4.1 NuGetとは

 NuGetとは、.NET Framework対応のパッケージ管理システムです。また、VS 2012以降から標準でNuGetがインストールされているため、ユーザーは特に追加でインストールすることなくNuGetを利用できます。

 このNuGetを用いることで、非常に簡単にOpenCVの環境を構築できるようになっています。ただし、プロジェクトごとにOpenCVのパッケージをインストールする必要があることから、プロジェクト数が多くなると使用ファイルサイズも大きくなってしまう点に注意が必要です。

 また、記事執筆時点(2016/2/28現在)OpenCV 3.1のNuGetパッケージはコンフィグレーションによっては正常に動作しないようです(今後、修正される可能性があります)。

4.2 Visual Studioプロジェクト作成

 NuGetでOpenCVを導入する前にまず、Visual Studioプロジェクトを作成する必要があります。ここでは新規Visual Studioプロジェクト作成方法について述べていきます。プロジェクト作成方法は、以下の画面を参考にしてください。

図14 [ファイル]−[新規作成]−[プロジェクト]を選択して、新規プロジェクトを作成します 図14 [ファイル]−[新規作成]−[プロジェクト]を選択して、新規プロジェクトを作成します

図15 「Win32 コンソール アプリケーション」テンプレートを選択して、新規プロジェクトを作成します 図15 「Win32 コンソール アプリケーション」テンプレートを選択して、新規プロジェクトを作成します

図16 [コンソール アプリケーション]を選択し、[空のプロジェクト]にチェックを入れて、[完了]ボタンを押します 図16 [コンソール アプリケーション]を選択し、[空のプロジェクト]にチェックを入れて、[完了]ボタンを押します

4.3 OpenCVパッケージのインストール

 4.2でVisual Studioプロジェクトを作成できたので、次にNuGetを使ってOpenCVパッケージをインストールします。インストール方法は、以下の画面を参考にしてください。

図17 プロジェクトを右クリックして、表示されるコンテキストメニューから[NuGet パッケージの管理]を選択します 図17 プロジェクトを右クリックして、表示されるコンテキストメニューから[NuGet パッケージの管理]を選択します

図18 OpenCV3パッケージを検索して、インストールします 図18 OpenCV3パッケージを検索して、インストールします

 これでプロジェクトに対するOpenCVパッケージ設定は完了です。また、パッケージの実体は、ソリューションファイルと同一階層の「packages」ディレクトリに格納されます。

 なお、インストールしたNuGetパッケージ「OpenCV3」は(執筆時点で)VS 2013のみに対応しています。VS 2015でこのパッケージを使いたい場合は、プロジェクトプロパティの[構成プロパティ]−[全般]−[プラットフォーム ツールセット]を「Visual Studio 2013 (v120)」に切り替える必要があります(切り替えない場合は、以下の作業でエラーが発生しますので注意してください)。

4.4 OpenCVパッケージの導入確認

 NuGetでOpenCVパッケージが正しく導入できたことを確認します。

図19 ソースファイルを右クリックして、表示されるコンテキストメニューから[追加]−[新しい項目]を選択します 図19 ソースファイルを右クリックして、表示されるコンテキストメニューから[追加]−[新しい項目]を選択します

図20 「C++ファイル」を選択して、新規ソースファイルを作成します 図20 「C++ファイル」を選択して、新規ソースファイルを作成します

 先ほど作成したソースファイルに以下のコードを記述します。

#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
 
int main(int argc, const char* argv[])
{
  // 幅320px、高さ240pxで赤色の画像データを生成
  cv::Mat redImg(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 255));

  // 画像表示用のウィンドウを生成
  cv::namedWindow("red", cv::WINDOW_AUTOSIZE);

  // ウィンドウに画像を表示
  cv::imshow("red", redImg);

  // キー入力を待機
  cv::waitKey(0);

  // 作成したウィンドウを全て破棄
  cv::destroyAllWindows();

  return 0;
}

OpenCVパッケージが正しく導入できたことを確認するためのサンプルコード(main.cpp)

 その後、ビルドしてプログラムを実行すると、図21のような赤色で塗りつぶされた画像がウィンドウに表示されます。キー入力を行うと、ウィンドウが閉じられプログラムが終了します。このようになれば、NuGetでOpenCVパッケージが正しく導入できています。

図21 サンプルコードの実行結果 図21 サンプルコードの実行結果

 ここまででNuGetを使った環境構築は完了です。

5. 注意点

 公式パッケージ、CMake、NuGetいずれの環境構築においても、トラブルを回避するために注意した方がよいポイントを以下にまとめます。

  • インストール先として、日本語やスペースを含むパスを指定すると、CMakeがうまくいかないケースがあるので避けた方がよい
  • インストール先として、ファイル操作で管理者権限が必要な特殊ディレクトリ(例:「C:\Program Files (x86)」など)を指定すると、(管理者権限で実行すれば回避できるが、通常の権限だと)ファイル生成に失敗するケースがあるので、避けた方がよい

6. おわりに

 今回は、以下の3ケースのOpenCV環境構築方法を解説しました。

  • 公式パッケージを使ったインストール
  • CMakeを使ったライブラリのビルド
  • NuGetを使ったパッケージインストール

 次回以降は、実際にOpenCVを使ったプログラミングについて解説します。

「OpenCV入門【3.0対応】」のインデックス

OpenCV入門【3.0対応】

前のページへ 1|2|3       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。