はじめに
両方リリースされて時間が経過しており、今頃感があるが、備忘録としてまとめておく実は、14.04の開発マシンの更新を様子見していたが、16.04に更新を試みたところ、なぜかパーティション情報が消えてしまし、開発データすべてを失ってしまった。
折れた心を立ち直らせ、新規に開発環境を構築するついでにHDDからSSDに変更した。ubuntu16.04をクリーンインストールし、再度開発環境を構築した。
Dlib関連は、なくなったHDD内にいくつかのメモを書いてあったが、バックアップや備忘録もなかったので、なくなく手探りで再構築している。
Dlibに関しては、2016アドベントカレンダー向けに作成した記事
OpenCVで顔向き推定を行う
で触れている。
ソースの取得とビルド
http://dlib.net/のページに移動左メニュー下 ダウンロードボタンを押す
dlib-19.4.tar.bz2をダウンロード 9.0M
ホームに展開後、ディレクトリーに移動し、
cmake ..
cmake --build . --config Release
を実行する。
サンプルプログラムのコンパイルと実行
exsamplesのフォルダーに移動し、定番の顔検出 face_detection_ex.cpp を試してみるコンパイルの仕方は、本家のページに、
g++ -std=c++11 -O3 -I.. ../dlib/all/source.cpp -lpthread -lX11 example_program_name.cpp
と書かれているが、実行すると
../dlib/all/../gui_widgets/nativefont.h:27:22: fatal error: X11/Xlib.h: そのようなファイルやディレクトリはありません
とエラーとなる。
対処
ubuntu16.4には、x11の開発環境がないため、
sudo apt-get install libx11-dev
を実行し、再度コンパイルを試してみると今度はうまくビルドできた。
exsamples/facesにサンプル画像が格納されているので、
./a.out faces/2009_004587.jpg を実行すると、
processing image faces/2009_004587.jpg
exception thrown!
Unable to load image in file faces/2009_004587.jpg.
が表示される。
googleで調べてみると、
-DDLIB_JPEG_SUPPORT と -ljpegのオプションが必要とのこと
最終的には、
g++ -std=c++11 -O3 -I.. ../dlib/all/source.cpp -lpthread -lX11 -ljpeg face_detection_ex.cpp -DDLIB_JPEG_SUPPORT
を行うことでaoutが作成され
./a.out faces/2009_004587.jpg を実行すると画面に検出結果が表示される。
以上
0 件のコメント:
コメントを投稿