第3回 OpenCVの環境構築(OpenCV 3.0/3.1):OpenCV入門【3.0対応】(3/3 ページ)
OpenCV 3環境の構築方法として、「公式パッケージを使ったインストール」「CMakeを使ったライブラリのビルド」「NuGetを使ったパッケージインストール」の3ケースを解説。バージョン2.4.9から3.0/3.1に合わせて改訂。
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プロジェクト作成方法について述べていきます。プロジェクト作成方法は、以下の画面を参考にしてください。
4.3 OpenCVパッケージのインストール
4.2でVisual Studioプロジェクトを作成できたので、次にNuGetを使ってOpenCVパッケージをインストールします。インストール方法は、以下の画面を参考にしてください。
これでプロジェクトに対するOpenCVパッケージ設定は完了です。また、パッケージの実体は、ソリューションファイルと同一階層の「packages」ディレクトリに格納されます。
なお、インストールしたNuGetパッケージ「OpenCV3」は(執筆時点で)VS 2013のみに対応しています。VS 2015でこのパッケージを使いたい場合は、プロジェクトプロパティの[構成プロパティ]−[全般]−[プラットフォーム ツールセット]を「Visual Studio 2013 (v120)」に切り替える必要があります(※切り替えない場合は、以下の作業でエラーが発生しますので注意してください)。
4.4 OpenCVパッケージの導入確認
NuGetでOpenCVパッケージが正しく導入できたことを確認します。
先ほど作成したソースファイルに以下のコードを記述します。
#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;
}
その後、ビルドしてプログラムを実行すると、図21のような赤色で塗りつぶされた画像がウィンドウに表示されます。キー入力を行うと、ウィンドウが閉じられプログラムが終了します。このようになれば、NuGetでOpenCVパッケージが正しく導入できています。
ここまででNuGetを使った環境構築は完了です。
5. 注意点
公式パッケージ、CMake、NuGetいずれの環境構築においても、トラブルを回避するために注意した方がよいポイントを以下にまとめます。
- インストール先として、日本語やスペースを含むパスを指定すると、CMakeがうまくいかないケースがあるので避けた方がよい
- インストール先として、ファイル操作で管理者権限が必要な特殊ディレクトリ(例:「C:\Program Files (x86)」など)を指定すると、(管理者権限で実行すれば回避できるが、通常の権限だと)ファイル生成に失敗するケースがあるので、避けた方がよい
6. おわりに
今回は、以下の3ケースのOpenCV環境構築方法を解説しました。
- 公式パッケージを使ったインストール
- CMakeを使ったライブラリのビルド
- NuGetを使ったパッケージインストール
次回以降は、実際にOpenCVを使ったプログラミングについて解説します。
Copyright© Digital Advantage Corp. All Rights Reserved.