NuGetを使ってOpenCVの環境構築(Visual Studio 2015)

本日はVisual StudioからNugetを使ってOpenCVの環境構築をしてみようと思います。

何故この記事を書くに至ったかというと、他の記事でOpenCVの環境構築をしたいということが結構あって、そのときにNugetが一番簡単で手っ取り早いよねということがあったので、引用できるように、取りあえず書いておこうと思ったわけです。

NuGetとは

NuGetは、Visual Studioの拡張機能として付属しているライブラリの管理システムです。ライブラリの導入や、管理を簡単に行うことができます。

このライブラリ管理システムを用いることで、OpenCVなんかもボタン1つ押すだけで入っちゃうよという話です。

OpenCVの環境構築方法の整理

そもそも、このブログでもOpenCVの環境構築について、他の記事で書いてきました。

OpenCVの環境構築の前提として、やり方は何通りかあり、それぞれにメリットやデメリットはあります。

NuGetを使ってOpenCVの環境構築をすることは、あくまで一つのやり方でしかありません。

OpenCVの環境構築を行う上で個人的な難易度(と掛かる時間)を低い方から挙げると、

(1) NuGetを使う

(2) ビルド済のOpenCVを使う

(3) ビルドから自分でやる

となり、NuGetを使うのは圧倒的に簡単で楽です。

ちなみに(2)(3)については

Visual Studio 2015でOpenCV 3.4環境構築(Windows10)
(ビルド済のOpenCVを使う)

Windows10でOpenCV3.4.1とopencv_contrib環境構築
(ビルドから自分でやる)

の記事で大体カバーしているので、そちらをご覧いただけると雰囲気がわかると思います。

簡単ならば全部NuGetでやればいいのではと思うかもしれませんが、少なくとも以下の欠点はあります。

・そもそもVisual Studioの拡張機能なので、Visual Studioでしか使えない。
OpenCVには様々なバージョン(2系、3系など)があるが、3系の最新版などがすぐNuGetに対応するわけではないため、最新版にしか入ってないモジュールとか関数使いたいとかなら選択肢から消える。
・各ソリューションでOpenCVをダウンロードするから容量とかが結構無駄。

上記のようにデメリットがないわけではありませんが、個人的にはちょっとOpenCV使って画像表示したり、保存したりしたいときには便利なので、ストレージの容量とかが余っているのであれば、これで環境構築するのが楽です。

それでは、実際にNuGetOpenCVの環境構築をしてみましょう。

今回の環境

OS : Windows10(64bit)

Visual Studio 2015 Community(導入済)

手順

(1) NugetでOpenCVの環境構築

Visual Studioでプロジェクトを作成し、ソリューションエクスプローラーのプロジェクト名の上で右クリックします。

すると、NuGetパッケージの管理という項目が出てくるので、そちらをクリックします。

上部「参照」をクリックし、「opencv」で検索します。

候補がいくつか出てきますが、今回は一番上のものをインストールしてみます。

右にバージョンが書いてありますが、「v2.4.11」とあり、OpenCV2.4.11というバージョンをダウンロードしていることがわかります。

右のウィンドウより、「インストール」を選択します。

以下のようなウィンドウが出るかもしれませんがOKで進みます。

これで、上手くいけばOpenCVがインストールされました。

これにて環境構築は終了です。NuGetを使うと、本当に簡単に環境構築ができるということがわかると思います。

(2) テストコードの実行

では、これでテストコードの実行をしてみたいと思います。

今回、画像を表示するだけのプログラムを以下に用意したので、このコードを実行してみましょう。

「Release/x64」で実行してください。

ただし、表示する「test.png」だけは自分で適当な画像を用意してください。

#include <opencv2/opencv.hpp>
using namespace cv;

int main(void)
{
   Mat input_image;
   input_image = cv::imread("test.png", 1);
   if (input_image.empty()) return -1;

   cv::namedWindow("input_image", CV_WINDOW_AUTOSIZE | CV_WINDOW_FREERATIO);
   cv::imshow("input_image", input_image);
   cv::waitKey(0);

   return 0;
}

実行すると、以下のように画像が表示されました。

まとめ

NuGetを用いたOpenCVの環境構築を行いました。

他の方法に比べ、短時間で簡単に環境構築できるのが最大の特徴です。Visual Studioを使っている人でOpenCVを取りあえず使ってみたい人は、是非試してみてください。

スポンサーリンク

シェアする

フォローする