Dlib简介及在windows7 vs2013编译过程
Dlib是一個C++庫,包含了許多機器學習算法。它是跨平臺的,可以應用在Windows、Linux、Mac、embedded devices、mobile phones等。它的License是Boost Software License 1.0,可以商用。Dlib的主要特點可以參考官方網站:http://dlib.net/
下面說一下在window7 vs2013上的編譯過程:
有兩種方法,一種方法是通過CMake;一種是通過自己創建一個空的控制臺工程,來生成Dlib靜態庫。
這里說一下通過空的控制臺生成靜態庫的過程:
1、???新建一個空的控制臺工程Dlib;
2、? 目前Dlib最新的Release版本是v19.2,但是v19.2需要有vs2015的支持,這里通過vs2013編譯v19.1版本,從https://github.com/davisking/dlib/releases?下載v19.1;
3、? 將dlib/all/source.cpp和dlib/external/中zlib、libpng、libjpeg三個目錄下的.c、.cpp文件加入到工程中,加入zlib、libpng、libjpeg文件是為了能夠讓dlib直接支持讀取.png、.jpeg格式圖像;
4、? dlib工程屬性,修改主要包括:
(1)、配置屬性--> 常規--> 配置類型:靜態庫 (.lib);
(2)、C/C++ --> 常規--> 附加包含目錄:添加zlib/libpng/libjpeg頭文件;
(3)、C/C++ --> 預處理器 --> 預處理器定義:DLIB_PNG_SUPPORT、DLIB_JPEG_SUPPORT;
(4)、解決方案平臺:x64
5、? 修改源碼:
(1)、dlib/ matrix/matrix_utilities.h : error C2057,lines: 2665,將
{COMPILE_TIME_ASSERT(pixel_traits<P>::num > 0);matrix<T,pixel_traits<P>::num,1> m;pixel_to_vector_helper<P>::assign(m,pixel);return m;
}
?調整為:
{COMPILE_TIME_ASSERT(static_cast<int>(pixel_traits<P>::num) > 0);matrix<T,pixel_traits<P>::num,1> m;pixel_to_vector_helper<P>::assign(m,pixel);return m;
}
(2)、dlib/external/libpng/pngread.c: error C4703, lines: 1029, 將
{png_color_8p sig_bit;png_get_sBIT(png_ptr, info_ptr, &sig_bit);png_set_shift(png_ptr, sig_bit);
}
調整為:
{png_color_8p sig_bit = NULL;png_get_sBIT(png_ptr, info_ptr, &sig_bit);png_set_shift(png_ptr, sig_bit);
}
6、? 選中工程Dlib,在x64下即可生成Dlib靜態庫。
GitHub:https://github.com/fengbingchun/Face_Test
總結
以上是生活随笔為你收集整理的Dlib简介及在windows7 vs2013编译过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人脸识别引擎SeetaFaceEngin
- 下一篇: 卷积神经网络(CNN)代码实现(MNIS