win10下vs2013+DLib机器学习库安装及配置

win10下vs2013+DLib机器学习库安装及配置


这篇博客主要用两种方法来编译生成dlib.lib:

  • 用Cmake编译工具生成dlib.lib文件;
  • 用Dlib源码直接生成dlib.lib文件;(注:在我的笔记本上使用第一种方法生成的X64环境dlib.lib,配置后出现20多种链接问题,所以转而用第二种方法生成dlib.lib)
一、用Cmake编译工具生成dlib.lib文件
1、进入Dlib官网,下载Dlib机器学习库,我下载的是19.0版本(注,下载19.2版本以下版本,19.2及以上版本需用vs2015或更高版本)
2、下载Cmake工具,傻瓜式安装即可。
3、运行Cmake工具,指定源码路径与编译后的dlib.lib文件路径,如下图:

win10下vs2013+DLib机器学习库安装及配置_第1张图片
3点击Configure按钮,配置编译器,如下图:

注:生成32位,选择Visual Studio 12 2013 ;生成64位请选择

win10下vs2013+DLib机器学习库安装及配置_第2张图片

win10下vs2013+DLib机器学习库安装及配置_第3张图片
4、看是否出现错误,未出现错误点击generate按钮生成。

win10下vs2013+DLib机器学习库安装及配置_第4张图片


5、在Cmake指定生成路径中打开dlib项目,点击生成解决方案即可生成dlib.lib文件
win10下vs2013+DLib机器学习库安装及配置_第5张图片

(注:我在win32下使用上述方法生成dlib.lib,配置后可以正常运行,,,但在win64下生成的dlib.lib,配置后出现各种链接错误(如下图),
win10下vs2013+DLib机器学习库安装及配置_第6张图片
而且生成解决方案前已经添加了这两个库的路径

不知道什么鬼,会出现这种情况,转而用第二种方法生成dlib.lib,配置后可以运行成功。

二、用Dlib源码直接生成dlib.lib文件
1、新建win32控制台程序
2、选择解决方案配置与解决方案平台;

3、打开属性页,修改箭头所指的两项
win10下vs2013+DLib机器学习库安装及配置_第7张图片
4、在附加包含项中添加libjpeg,libpng和zlib
win10下vs2013+DLib机器学习库安装及配置_第8张图片
win10下vs2013+DLib机器学习库安装及配置_第9张图片
5、添加DLIB_PNG_SUPPORT、DLIB_JPEG_SUPPORT预处理定义
win10下vs2013+DLib机器学习库安装及配置_第10张图片
6、在新建的项目中
源文件 >添加现有文件,将dlib/all/source.cpp导入
资源文件 >添加现有项,将dlib/external/中zlib,libpng,libjpeg三个目录下的文件都加入到工程中
win10下vs2013+DLib机器学习库安装及配置_第11张图片
7、生成解决方案即可得到dlib.lib文件。

三、配置dlib.lib
1.新建一控制台程序,选择相应的环境与平台,在这选择release下X64
2.为了以后方便调用,在这配置一个release x64属性表,即
win10下vs2013+DLib机器学习库安装及配置_第12张图片
命名随意,以后能认出即可。然后点击鼠标右键,选择属性,
win10下vs2013+DLib机器学习库安装及配置_第13张图片
3、进入属性页,在项目中添加dlib19.0路径
win10下vs2013+DLib机器学习库安装及配置_第14张图片
4、将生成的dlib.lib文件路径添加到项目中来;,即
win10下vs2013+DLib机器学习库安装及配置_第15张图片
5、将dlib.lib添加到附加依赖项
win10下vs2013+DLib机器学习库安装及配置_第16张图片
6、在工程 属性 预处理器 预处理器定义 中加入
DLIB_PNG_SUPPORT
DLIB_JPEG_SUPPORT
两项

win10下vs2013+DLib机器学习库安装及配置_第17张图片
到这配置完毕

四、测试
用个人脸检测例子测试一下:

#include  

#include  

#include  



using namespace dlib;

void TestFaceDetect(const char *filename) {

	frontal_face_detector detector = get_frontal_face_detector();



	array2d img;

	load_image(img, filename);

	std::vector dets = detector(img);

	printf("Numbere of face detected:%d\n", dets.size());

}

int main()

{

	const char *filename = "E://DLib机器学习库//dlibx64_test//11.jpg";

	TestFaceDetect(filename);

	system("pause");

	return 0;

}



用经典的lena图像为测试样本,
win10下vs2013+DLib机器学习库安装及配置_第18张图片
运行结果如下:


你可能感兴趣的:(机器学习与模式识别,DLib机器学习库)