Visual StudioでOpenCVのビルド


OpenCVはいくつかの環境向けにバイナリが配布されているが、SIFTやSURFのライブラリはこれには含まれていない。それ故、これらを利用したければopencv_contrib(以下contrib)も含めてソースからビルドしなければならない。そこで、Visual Studio 2017でcontribを含むx64用のOpenCV 3.4.3をビルドする方法をまとめておく。

  1. ビルドの準備
  2. CMakeを起動
  3. Visual Studio 2017を選択
  4. ビルドパラメータの変更
  5. Visual Studioソリューションの生成
  6. OpenCVのビルド

ビルドの準備

WindowsでOpenCVをビルドするにはVisual Studioが必要となる。今回はVisual Studio 2017を利用する。また、CMakeも必要になるのでこれらを予めインストールしておく。CMakeは3.12.2をダウンロードしてインストールした。

Download | CMake

特にこだわりがなければ、インストーラ(cmake-3.12.2-win64-x64.msi)をダウンロードしてインストールすれば良いだろう。

また、OpenCV 3.4.3のソースもダウンロードしておく。GitHubからメインモジュールと拡張モジュールであるcontribのソースをダウンロードしてC:\opencv-3.4.3フォルダに展開する。

Releases · opencv/opencv · GitHub
Releases · opencv/opencv_contrib · GitHub

CMakeを起動

CMakeを起動し、ソースコードとビルドするバイナリの出力先フォルダを選択する。"Where is the source code:"欄にはメインモジュールのソースを展開したフォルダ(例:C:/opencv-3.4.3/opencv-3.4.3)、"Where to build the binaries:"欄にはビルドするバイナリ等の出力先(例:C:/opencv-3.4.3/build)を入力する。


フォルダを入力したらConfigureボタンを押下する。

Visual Studio 2017を選択

Configureした後、バイナリの出力先フォルダを作成するか否かを訊かれたら("Build directory does not exist, should I create it?")Yesと答える。次に、Visual Studioのバージョンを訊かれるので選択する。今回はVisual Studio 2017でx64バイナリをビルドするので、"Specify the generator for this project"で"Visual Studio 15 2017 Win64"を選択しFinishボタンを押下する。


ビルドパラメータの変更

ウィンドウ下部に"Configure done"が表示されたらビルド設定を変更する必要がある。


設定する項目は2つだけ。OPENCV_EXTRA_MODULES_PATHに、展開済みのcontribのフォルダの下のmodulesフォルダを設定し、BUILD_opencv_worldをチェックする。BUILD_opencv_worldをチェックしておくと、例えばバイナリで配布されているOpenCVのopencv_world343.libのようにライブラリを1つにまとめてくれる。それが不要であればチェックする必要はない。

OPENCV_EXTRA_MODULES_PATHC:/opencv-3.4.3/opencv_contrib-3.4.3/modules
BUILD_opencv_worldチェック

Visual Studioソリューションの生成

ビルド設定を変更したので再度Configureし、ウィンドウ下部に"Configure done"と表示されたら、Generateボタンを押下する。ウィンドウ下部に"Generating done"と表示されたらVisual Studioのソリューションが作成されているはずである。


OpenCVのビルド

ここからはVisual Studioでの作業になる。CMakeで指定したバイナリの出力先(今回で言えばC:/opencv-3.4.3/build)に"OpenCV.sln"というファイルがあるはずなのでこれを開く。Visual Studioの[ビルド]-[バッチ ビルド]メニューを選択し、ビルドするプロジェクト構成のチェックでALL_BUILDのDebugとRelease、およびINSTALLのDebugとReleaseをチェックしビルドする。


ビルドが成功すると、C:/opencv-3.4.3/build/install/x64/vc15/libフォルダに、Debug構成はopencv_world343d.lib、Release構成はopencv_world343.libがそれぞれ生成される。もちろん、必要がなければDebugかReleaseのどちらか一方を選択するだけで構わない。Core i7 6700KのPCでは概ね23分程度でビルドが完了した。ビルドはそれなりに時間を要する。

(2018/09/21)

新着情報
【オープンソースソフトウェア環境構築】Visual StudioでOpenCVのビルド
【オープンソースソフトウェア環境構築】OpenCVで画像を表示
【iOS Objective-C, Swift Tips】ファイルアップロード(Swift)

Copyright© 2004-2018 モバイル開発系(K) All rights reserved.
[Home]