Visual studio memo 6 --OpenCVやDcmtkをVisual C++用にコンパイルする--
back
memo
3次元画像処理ツールを作成するため,Dicom toolkitとOpenCVを同時にVisual C++ 2015で利用する必要が生じた.
opencvとdcmtkコンパイル方法のメモを残しておく.
ただ,OpenCVとC++の組み合わせはあまりお勧めではない.
どうしてもこの組み合わせが必要でなければ、OpenCV + Pythonのほうが。。。
想定する環境
OpenCVのコンパイル
参考ページ: [OpenCV 3.0がリリースされたので導入してみた]
こちらのほうが詳しいので是非こちらを参照してください。
必要なファイルの準備
- OpenCVのページから OpenCV for windowsの好きなバージョンをダウンロードし,展開した中身を『c:\opencv310』にコピー
- こちらから opencv_contrib-masterというモジュールをダウンロードし,modulesディレクトリを『C:\opencv310\build\modules』にコピー
CMakeでVisual studio用プロジェクトファイル作成
- CMakeを起動し,ソースフォルダを『C:/opencv310/sources』と,ビルドフォルダを『C:/opencv310/build』と指定する
- Configureボタンを押して,Visual studioのバージョンとアーキテクチャを指定(今回は, Visual Studio 2015 win 64とした). するとconfigureが始まる.
- OPENCV_EXTRA_MODULES_PATHにC:/opencv310/build/modulesを指定
- openCVを静的にリンクするなら... 『BUILD_SHARED_LIBS』チェックを外し,BUILD_WITH_STATIC_CRTをチェック
- generateすると『build』ディレクトリの中にOpenCV.slnができる
Visual Studioでコンパイル
- OpenCV.slnを開く
- プロジェクト>プロパティ>C/C++>コード生成>ランタイムライブラリにて、/MTか/MDを選択.実際に利用する環境に合わせないと、後のコンパイルでこける。
- 全てビルドする
- 生成された.libファイル群と『./source/include』ディレクトリを, Visual Studioから見えるところに配置
- 『bluid/3rdparty/lib』以下の.libも、visual studioからみえる位置にコピーする.
- ippcvmt.libは『C:\opencv310\sources\3rdparty\ippicv\unpack\ippicv_win\lib\intel64』にあるので注意.(これも必要)
- version 3.1以降,opencv_halは,coreとかに統合されたらしい
Dcmtkのコンパイル
tips
- 外部ライブラリ(OpenCVやdcmtk)を利用する場合は、これらをコンパイルする環境をそろえる必要がある
- 特に,VCのバージョンとランタイムライブラリ(MT MD)をそろえる
back