#リンク
Visual Studio2015を使ったOpenCV3.2に関する最新の情報はこちら
#概要
OpenCVを使った画像処理プログラミングではなくて,OpenCV自身をコンパイルするためのメモ
OpenCV3.0をgithubからソースをダウンロード
同時に,他の組織からの拡張機能(contrib)やその他のライブラリも一緒にコンパイルした.
使ったコンパイラはVisual Studio Community 2013,OSはWindows7 64-bit.
MSのWebサイトを良く見るとVisual Studio Community 2013をダウンロードできるので,あえて2013を使うこと.最新版は2015.
Visual Studio Community 2015しかダウンロードできないと思って,コンパイルしてみたが,2015/10/22現在,OpenCVのコンパイルはできなかった(その後2013ダウンロードできることに気づいた.).
その他の一緒にコンパイルするライブラリ
- [Qt] (http://www.qt.io/) デフォルトよりは使いやすいGUI用.
- [VTK] (http://www.vtk.org/) vizモジュールのコンパイルに必須.
- [TBB] (https://www.threadingbuildingblocks.org/) 並列化ライブラリ.cv::parallel_for_を最大限高速にするにはこれをインストール.
- [CUDA] (http://www.nvidia.co.jp/object/cuda-jp.html) GPUで焼肉を焼くためのライブラリ
- [doxygen] (http://www.doxygen.jp/) ドキュメント生成用.
最近のOpenCVからはディープラーニングのライブラリ(caffe)も使えます.
#手順
- Qt5.4.0 for Windows 64-bit with OpenGL (Visual Studio 2013用)をWebインストーラからダウンロード.最新版にはwith OpenGLがないため,あえてひとつ前のバージョンを使用.最新版が使いたい場合は,OpenGLをつけたQtのコンパイルが必須(下記参照).
- VTK6.2.0をコンパイルする.コードをダウンロードしてきてcmakeにて,VTK_QtVersionを5に,OpenGL1.0に設定,VTK_Group_Qtのチェックを入れてconfigure->generate.出来たslnファイルをVS2013で起動してコンパイル→インストール.デフォルトのインストール先がProgram Files/VTKのためinstallするには管理者権限が必要になる.面倒な場合はインストール先を権限のいらない場所に設定する(cmakeのCMAKE_INSTALL_PREFIXの設定値をC:\VTKなどに設定).なお,最新版6.3.0はQt5.4と同時にコンパイルできなかった.
- TBB4.4をダウンロードして圧縮ファイルを復号.VS2013用までしかバイナリファイルは用意されていないので,将来的に2015を使うときにはコンパイル必須?slnファイルがあるのでそれをコンパイルするだけでよいが.
- Cuda7.5をインストール
- OpenCVをcmake.OpenCVのソースにcontribのソースの中身を全部コピーしたあとで,cmakeをする.いろいろオプションを有効化してcmake.詳細はこのあたりを参照 (http://www.buildinsider.net/small/opencv/07)
#生成されるもの
これまでのいろいろなライブラリに加えて最新版(contrib)では,
- ディープラーニング用のopencv_dnn
- ARマーカーを生成するためのopencv_aruco
- Kinect v1のようなセンサを自作するために必要なopencv_structured_light
- 人間をうまく検出するための関数(Deformable Part-based Models) opencv_dpm
- Kinectなどから3次元復元するのに使うrgbd
- 高度なデノイズ,エッジ保持平滑化フィルタを使うためのopencv_ximgproc,opencv_xphoto
などが生成されます.
#付録1:Qtのコンパイルメモ(2015用.2013の場合は2015->2013)
- 'VS2015 x64Native Toolsコマンドプロンプトの起動
- set QTDIR="C:\Qt\5.5"
- set PATH=%QTDIR%\bin;%PATH%
- set QMAKESPEC=win32-msvc2015
- configure -release -opensource -nomake examples -nomake tests -opengl desktop -prefix "c:\Qt\5.5\Src" -extprefix "c:\Qt\5.5"
- nmake もしくは jom -j24 (※数字は並列化する数)
- nmake install'
#付録2:コードの修正
2015/10/23のGithub上のコードは,Qt5.4.0+windowsでコンパイルするとエラーします.
ただし,このファイルの最終更新日時が4日前だったので,おそらくすぐに修正されると思います.
window_QT.cpp内の
int maxval = t->slider->getMaximum();
を下記に書き換えるとコンパイルがとおります.
int minval = t->slider->minimum();