Visual StudioでOpenCVのビルドOpenCVはいくつかの環境向けにバイナリが配布されているが、SIFTやSURFのライブラリはこれには含まれていない。それ故、これらを利用したければopencv_contrib(以下contrib)も含めてソースからビルドしなければならない。そこで、Visual Studio 2017でcontribを含むx64用のOpenCV 3.4.3をビルドする方法をまとめておく。 ビルドの準備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 · GitHubReleases · 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つにまとめてくれる。それが不要であればチェックする必要はない。
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)
Copyright© 2004-2022 モバイル開発系(K) All rights reserved.
[Home]
|