dlib について
日本で有名な画像処理ライブラリには OpenCV がありますが、 dlib という同じく画像処理に用いることができるライブラリ(実際には主に画像処理を扱う機械学習のライブラリ)があります。特定機能において OpenCV よりも高い精度を発揮したり、そもそも OpenCV にはない機能を実装していたりするため、重宝することがあります。また、 Python 用のラッパライブラリなども存在します.
Python であれば pip を使って簡単にインストールができるようですが、今回 C++/VS/Windows 10 でという環境でビルド&利用する機会があったので、備忘録として残しておきます。
使うもの
- Windows 10
- Visual Studio 2017
- Cmake 3.12.1
- dlib 19.15
Visual Studioは手順中に直接は出てきませんが、入っていないとビルド時に参照するファイルが足りないので必要となります。
手順
Microsoft Build Tools 2015のインストール
dlib 19.5のビルドにはVisual Studio 2015に含まれていたC++ビルドツールが必要なので、公式から持ってきてインストールします。
https://visualstudio.microsoft.com/ja/vs/older-downloads/
https://www.microsoft.com/ja-jp/download/details.aspx?id=48159
インストールが完了しても、このままだとCMakeでC++コンパラが見つからなくて怒られるので、CMakeが発見できる位置にC++コンパイラ(rc.exe, rcdll.dll)をコピーしておきます。
rc.exeとrcdll.dllはC:\Program Files(x86)\Windows Kits\10\bin\10.0.17134.0\x64
などの場所にありますのでこれをC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
にコピーします.10.0.17134.0のところはバージョンによって変わるので、適時対応してください。
CMakeのインストール
- CMake公式のDownload Latest Releaseから最新バージョンのリリースファイル一覧に飛びます。
2.Windows win64-x64 Installerのところからインストーラのmsiファイルをダウンロードします。
3.インストーラーに従ってインストールします.特に変更しなくていいと思いますが,途中の環境変数についてのところは環境変数を登録するようにしておいたほうが後々便利だと思います.デフォルトだと登録しない設定になっています.
dlibソースの準備
-
dlib公式左部のから最新安定版のdlibのソースコードをダウンロードしてきます.
ビルド用ファイルの生成
CMakeを使ってビルド用ファイルを生成していきます。ここではCMakeのGUIフロントエンドを使って作業を行います。
-
GUI下部のconfigureボタンを押すと、どのVisualStudioバージョンに合わせてプロジェクトを生成するか聞かれるので、
Visual Studio 14 2015 Win64
を選択してFinishを押します。
-
画面が赤くなって物々しいですが、問題ないです。赤い部分で生成するプロジェクトの設定を行うことができます。特になければもう一度Configureボタンを押し、続けてGenerateボタンも押します。
-
すると
C:\dlib-19.15\examples\build
以下にファイルが生成されるので、確認します。examplesから生成を行うのは不思議な気がしますが、公式のインストール手順ではこれで正しいようで、dlib直下からビルドを行う方法は間違いだと公式の中の人が言っていました。
ソースのビルド
-
C:\dlib-19.15\examples\build
をエクスプローラで開き、Shiftを押しながらなにもないところで右クリックします。するとその場所でPowerShell(cmdでも可)が開けるので、PowerShellを起動してください。
-
そこで
cmake --build . --config Release
とコマンドを入力し、実行します。
するとビルドが実行され,C:\dlib-19.15\examples\build\dlib\Release
にdlib19.15.0_release_64bit_msvc1900.lib
ファイルが作成されるので,これを利用することができます。
また、実行したコマンドのRelease
部分をDebug
に変更することでデバッグビルド用のライブラリを生成することができます。
おわり
おわりです