Help us understand the problem. What is going on with this article?

windows10でdlib(C++、Python3.x)とimglab(C++)が使えるようにする

More than 1 year has passed since last update.

windows10PC何台かに、dlibが使えるように環境構築しました。途中、つっかかったり警告やエラーもあったので備忘録として記載しておきます。
基本的には下記サイトの通り進めれば大丈夫だと思います。
http://www.learnopencv.com/install-dlib-on-windows/

Cmakeのエラーが出たら

https://stackoverflow.com/questions/41514379/cmake-error-during-installation-of-dlib-on-windows
こちらを参照するとC++ 2015 Build Toolsを入れるといいと書いてあります。
そこで
http://landinghub.visualstudio.com/visual-cpp-build-tools
こちらからC++ 2015 Build Toolsをインストールしてみました。

そしたら、「既にRedistributionがインストールされているので一部完了できませんでした」という旨のポップアップがVisual Studioセットアップに表示されました。

Visual Studio2015や2017が共存していたので思い切ってVisual Studio関連を一旦全てアンインストールしてからを再度構築する事にしました。

Visual Studio関連の再セットアップ

・Visual Studio2017のアンインストール方法
https://docs.microsoft.com/ja-jp/visualstudio/install/uninstall-visual-studio

・Visual Studio2015のアンインストール方法
http://heetnote.com/vsuninst/
さらに、私の場合はRedistributionに関するポップアップが出ていたので、
windowsのシステム設定「プログラムの追加と削除」から"Microsoft Visual C++ 20** Redistributable"はすべて手動アンインストールしました。

・C++ 2015 Build Toolsのインストール
http://landinghub.visualstudio.com/visual-cpp-build-tools

・Visual Studio2015のインストール
https://www.visualstudio.com/ja/vs/older-downloads/
Visual Studio Dev Essentials に登録し、サインインします。
その上で、「以前のバージョンをお使いになりたいですか?」の"2015 Visual Studio 2015 およびその他の製品"という項目の「ダウンロード」リンクから「Visual Studio Community 2015 with Update 3」を選んでダウンロードします

dlibライブラリのC++用ビルドコマンドについて

http://www.learnopencv.com/install-dlib-on-windows/
こちらのStep 5: Build Dlib libraryには

cmake -G "Visual Studio 14 2015 Win64" -DJPEG_INCLUDE_DIR=..\dlib\external\libjpeg -DJPEG_LIBRARY=..\dlib\external\libjpeg -DPNG_PNG_INCLUDE_DIR=..\dlib\external\libpng -DPNG_LIBRARY_RELEASE=..\dlib\external\libpng -DZLIB_INCLUDE_DIR=..\dlib\external\zlib -DZLIB_LIBRARY_RELEASE=..\dlib\external\zlib -DCMAKE_INSTALL_PREFIX=install ..

とありますが、PCにCUDA-Toolkitがインストールされていないとエラーになります。
CUDA-Toolkitが無い場合は-DDLIB_USE_CUDA=OFF というオプションを加えます
参考
https://taktak.jp/2017/07/07/%E9%96%8B%E7%99%BA%E3%83%A1%E3%83%A2-%E3%81%9D%E3%81%AE72-dlib%E3%82%92cuda%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%81%A6%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B/

cmake -G "Visual Studio 14 2015 Win64" -DJPEG_INCLUDE_DIR=..\dlib\external\libjpeg -DJPEG_LIBRARY=..\dlib\external\libjpeg -DPNG_PNG_INCLUDE_DIR=..\dlib\external\libpng -DPNG_LIBRARY_RELEASE=..\dlib\external\libpng -DZLIB_INCLUDE_DIR=..\dlib\external\zlib -DZLIB_LIBRARY_RELEASE=..\dlib\external\zlib -DCMAKE_INSTALL_PREFIX=install -DDLIB_USE_CUDA=OFF ..

dlib examplesのexeファイルのあるディレクトリ

http://www.learnopencv.com/install-dlib-on-windows/
こちらのStep 7: Build Dlib examples によると、
dlib-19.6\examples\build\Release
に実行形式ファイルがあると書かれてますが、私の環境だと
dlib-19.6\examples\Release
にありました。

Pythonでdlibを利用

http://www.learnopencv.com/install-dlib-on-windows/
こちらのStep 9: Install Dlib’s Python module (Only Anaconda 3)でバージョン指定がありますが、公式
https://anaconda.org/menpo/dlib
の通り

> conda install -c menpo dlib

でよいかと思います。

imglabのビルド

http://tadaoyamaoka.hatenablog.com/entry/2016/09/27/225124
こちらの記事だと、imglabはデフォルトのままだとPNG_SUPPORTが有効になっていないようなので
dlib-19.6\dlib\image_saver\save_png.hに下記を記載してPNG_SUPPORTを有効にしておきます。

#ifndef DLIB_PNG_SUPPORT
#define DLIB_PNG_SUPPORT
#endif

そして
dlib-19.6\tools\imglab\README.txtの手順の「cmake ..」を「cmake -G "Visual Studio 14 2015 Win64" ..」に変更し実行します

> cd dlib/tools/imglab
> mkdir build
> cd build
> cmake ..
> cmake --build . --config Release
> sudo make install

これでdlib-19.6\tools\imglab\build\Releaseにimglab.exeが出来上がります。
使い方は以下等参考にします
http://tadaoyamaoka.hatenablog.com/entry/2016/09/21/184955

ちなみに
http://tadaoyamaoka.hatenablog.com/entry/2016/09/27/225124
こちらの方法でdlibのJPEG_SUPPORTを有効にする事は私の環境ではできませんでした...

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした