最近OpenCV関連の記事を書いていますが、そういえばOpenCVの環境構築ということで明確に記事作ってなかったので、書いておきたいと思います。一度書いておくと後々いろんな記事から引用できて便利ですしね。
OpenCVの2系についてはVisual StudioならNuGetで環境構築できた気がするので、今回は3系の最新版のOpenCV 3.4の環境構築をやってみたいと思います。
3系については最近Deep Learning系のAPIも少しずつ増えてきて、今後使う機会もまずまず増える気がします。
目次
OpenCVの環境構築方法
現在、OpenCVの環境構築方法にはいくつかのパターンがありますが、ざっくり言うと2つのパターンに分かれます。
(1) OpenCV自体をビルドする方法
(2) OpenCV自体は既にビルドされたものを使う方法
OpenCVを使う上で、OpenCVのビルドを行うのは必須となりますが、Visual Studio 2015などの有力なIDE向けには、既にビルドされたファイル一式が用意されています。
なら、既にビルドされたものを使えば楽じゃん……ということになるのですが、既にビルド済のファイルのため、有効にする機能を詳細にカスタマイズしたりすることはできません。
OpenCVには機能の拡張が可能な拡張パック的なものも存在するのですが、そういったものも使いたいとなった場合には、設定をして自力でビルドする(1)の方法を取ることになります。
しかしながら、普通に画像処理をしたいという形であれば(2)で十分ですので、今回は(2)の「OpenCV自体は既にビルドされたものを使う方法」で実施してみたいと思います。
今回の環境
・Windows 10
・Visual Studio 2015 Community(導入済)
導入手順
(1) OpenCVのダウンロード
まずは以下のOpenCVの公式サイトから3.4.0のWin packをダウンロードします。
外部サイト:Releases – OpenCV library
SOURCEFORGEなどの他のページに飛びますが、自動でダウンロードが開始されるはずです。その後、ダウンロードされた「.exe」ファイルを実行しましょう。
展開するフォルダを選択し、Extractedを押します。
今回はCドライブに「OpenCV\OpenCV34」というフォルダを作り、ダウンロードしました。特に複数バージョンのOpenCVを入れて使い分ける可能性がある場合には、バージョンがわかるようなフォルダ名にしておくとよいでしょう。
ダウンロード先を開いて「source」と「build」があることを確認しましょう。
ちなみに今回は「build」しか使いません。これが既にビルドされたファイル一式となります。
補足ではありますが「(1) OpenCV自体をビルドする方法」を用いる場合には、「source」ファイルを基にオリジナルの「build」を作成する流れになります。
(2) 環境変数の設定
次に環境変数を設定します。「システム環境変数」で検索し、システム環境変数の編集をクリックします。
システムのプロパティより「環境変数」を選択します。
環境変数「Path」に「C:\OpenCV\OpenCV34\opencv\build\x64\vc14\bin」を追加します。ここで追加するパスは「opencv_world340.dll」が入っているフォルダとしてください。
(3) Visual Studioでの設定
ではVisual Studioでテストコードを実行してみましょう。
「Win32コンソールアプリケーション」より新しいプロジェクトを作成します。名前や保存場所は任意としてください。
アプリケーションウィザードから「次へ」を選択し、「空のプロジェクト」にチェックを入れて完了させてください。
今回はプロジェクトの設定を「Release/x64」としました。
それでは、OpenCVのパスを通していきます。ソリューションエクスプローラーからプロジェクト名の上で右クリックし、一番下の「プロパティ」を選択してプロパティページを開いてください。
まず、「C/C++」⇒「全般」→「追加のインクルードディレクトリ」から「C:\OpenCV\OpenCV34\opencv\build\include」を追加します(自分がOpenCVをダウンロードしたフォルダのパスで読み替えてください)。
このとき、プロパティぺージ上部の構成とプラットフォームが「Release/x64」になっていることを確認してください。
次に「リンカ―」⇒「全般」→「追加のライブラリディレクトリ」から「C:\OpenCV\OpenCV34\opencv\build\x64\vc14\lib」を追加します(こちらも自分がOpenCVをダウンロードしたフォルダのパスで読み替えてください)。
最後に「リンカ―」⇒「全般」→「追加の依存ファイル」に「opencv_world340.lib」を追加します。
(4) テストコードの実行
それでは、画像を表示するテストコードを実行し、環境構築が成功していることを確認しましょう。以下のコードをコピペしてください。
#include<opencv2/opencv.hpp> int main(void) { std::string filename = "input.png"; cv::Mat image = cv::imread(filename); cv::imshow("ImageWindow", image); cv::waitKey(); return 0; }
表示したい画像ファイル名を「input.png」としてカレントディレクトリに保存します。今回はマンドリルの画像を用意しました。
この状態でソースコードをビルド、実行してみます。
以上のように、画像が表示されました。正常に環境構築が完了したようです。
まとめ
今回はOpenCV3.4の環境構築をしました。他のバージョンのOpenCVでもVisual Studioでは大体上記のような方法で環境構築ができると思います。