OpenNH

日常のひとこま(自分用のメモとかあれこれ)

OpenCV3.4.3の環境構築【Windows10】

はじめに

Windows環境かつVisual Studioで、OpenCVを利用したアプリケーション開発を行いたい人向けの環境構築方法について載せておきます。なお、OpenCV3.4.3をCmakeを用いてビルドする方法を紹介します。動作確認としてVisual Studio 2015を利用します。

OpenCVによる画像処理入門 改訂第2版 (KS情報科学専門書)

OpenCVによる画像処理入門 改訂第2版 (KS情報科学専門書)

環境

Windows10 Pro
Visual Studio 2015
OpenCV3.4.3
CMake3.13.0

CMakeのインストール

現行で最新のcmake-3.13.0のwindows版を公式サイトからダウンロードします。今回はzipファイルを選択します。
↓ダウンロードリンク(zipファイルがダウンロードされます)
https://cmake.org/files/v3.13/cmake-3.13.0-rc2-win64-x64.zip

f:id:FounderLeis:20181104092609p:plain:w514

zipファイルをインストールしたら任意のフォルダに展開(解凍)してください。私の環境では2,3分かかりました。

f:id:FounderLeis:20181104093645p:plain:w216

このようなフォルダとなっているはずです。

「~\bin\cmake-gui.exe」でもうCMakeを使うことができます。

f:id:FounderLeis:20181104093934p:plain:w135

 cmake-gui.exeを実行すると以下のようなGUIが表示されれば正常にインストール完了です。

f:id:FounderLeis:20181104094633p:plain:w490
 

もし以下のような注意が表示された場合は、「詳細情報」から「実行」を選択してください。
f:id:FounderLeis:20181104094404p:plain:w300
f:id:FounderLeis:20181104094459p:plain:w300

コマンドプロンプトから実行したい場合

コマンドプロンプトからCMakeを実行したい場合には、環境変数に以下のパスを追加してください。

環境変数  環境値
Path C\:<保存先>\CMake\bin 

 コマンドプロンプトで、"cmake --version"コマンドを実行して以下のようなメッセージが表示されていればCMakeの環境変数設定が正しく行われています。
f:id:FounderLeis:20181104102908p:plain:w460


CMakeのインストールはこれで終わりです。それでは、OpenCVをインストールしていきましょう。

 

OpenCVのインストール

現行でOpenCV3シリーズ最新の”OpenCV3.4.3”のwindows版を公式配布サイトからダウンロードします。今回はCMakeでビルドするので「Sources」を選択します。

↓ダウンロードリンク(zipファイルがダウンロードされます)
https://github.com/opencv/opencv/archive/3.4.3.zip

f:id:FounderLeis:20181104095105p:plain:w380

zipファイルをインストールしたら任意のフォルダに展開(解凍)してください。私の環境では3分くらいかかりました。

f:id:FounderLeis:20181104100818p:plain:w210

このようなフォルダ構成となっているはずです。

  
それではCmakeでビルドしていきます。
Cmake-GUIを起動して、以下の操作をしてください。

  1. ソースコード場所には、さっき解凍した先のルートディレクトリ「C:\<保存先>\opencv-3.4.3」を、ビルド先(ソリューションファイルの生成先)には,「C:\<保存先>\opencv-3.4.3\build」をそれぞれ指定
  2. 「Configure」をクリック
  3. 今回はVisual Studio 2015の環境なので、コンパイラは「Visual Studio 14 2015 Win64」を指定

f:id:FounderLeis:20181104103803p:plain:w415

 そうすると、
下図のように設定可能なパラメータが赤く表示されます。任意で設定項目を変更してください。特に設定をしない場合は、そのままで結構です。
CUDAの設定を行いたい方は、次節を読んでください。

f:id:FounderLeis:20181104105030p:plain:w400

設定をカスタマイズした後に「Configure」をクリックし、最後に「Generate」をクリックことで、ソリューションファイルを生成できます。

 

CUDAの設定を行う

使用するパソコンにCUDAがインストールされており、OpenCVのCUDA機能を使いたい人のみ以下の設定を行ってください。なお、この設定を行うとビルド時間がとても長くなります。
(以前に他のPCでセットアップした時の設定なのでVersionが異なります)

f:id:FounderLeis:20181104110735p:plain:w400

↓↓ GPUアーキテクチャ番号の確認
https://developer.nvidia.com/cuda-gpus

 f:id:FounderLeis:20181104111003p:plain:w400

OpevCVでCUDAを利用する場合の設定は以上です。

 

以下はCUDAを利用しない人も共通です。

OpenCVのビルド

 ソリューションファイルの生成先に指定した「C:\<保存先>\opencv-3.4.3\build」直下にある「OpenCV.sln」をVisual Studioで開きます。

  1. バッチビルドから”ALL_BUILD”のDebugとReleaseをチェックします。
  2. チェックしたら”ビルド”します。
  3. ビルドが終了し「C:/<保存先>/opencv-3.4.3/build/install」にinclude、libおよびbinが正しく保存されていれば完了です。

f:id:FounderLeis:20181104112001p:plain
 

環境パスの設定

プログラムを作成するたびにOpenCVのdllファイルをコピーしてくるのは面倒なので、環境パスに設定しましょう。環境変数"Path"にOpenCVのdllファイルが存在するフォルダのパスを追加してください。

 環境変数 環境値
Path C:\<保存先>\opencv-3.4.3\build\install\x64\vc14\bin  

これで、いちいち面倒な作業がなくなります。

 

サンプルプログラム

黒背景に緑色の「OpenCV」の文字を描画した画像を生成するだけのプログラムになります。実行すると以下のような画像が表示されます。
f:id:FounderLeis:20181104204555p:plain:w250

ソースコード

#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>

// OpecCVのライブラリの読み込み
#ifdef _DEBUG
#pragma comment(lib,"opencv_core343d.lib")
#pragma comment(lib,"opencv_highgui343d.lib")
#pragma comment(lib,"opencv_imgproc343d.lib")
#else
#pragma comment(lib,"opencv_core343.lib")
#pragma comment(lib,"opencv_highgui343.lib")
#pragma comment(lib,"opencv_imgproc343.lib")
#endif

int main()
{
// 幅320px-高さ240pxの画像を生成
cv::Mat img(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 0));

// 画像に「OpenCV」の文字列を描画
cv::Mat dst = img.clone();
cv::putText(dst, "OpenCV", cv::Point(80, 100), cv::FONT_HERSHEY_SIMPLEX, 1.2, cv::Scalar(0, 200, 0), 2, CV_AA);

// 描画
cv::imshow("dst image", dst);
cv::waitKey(10000);

return -1;
}


注意点

プロジェクトのプロパティでOpenCVのインクルードディレクトリとライブラリディレクトリを指定してから実行してください。
f:id:FounderLeis:20181104212053p:plain:w350