配置win10+vs2013+dlib18.16库

简介: 配置win10+vs2013+dlib18.16库

 因为要研究三维人脸识别,但是导师不管,也没有师兄师姐带,就是单枪匹马,自己瞎搞,还没有途径,等死中。。。。。。刷网页的时候偶然知道了Dlib库包含68点人脸识别算法,所以就想试试,到底是神马样的,好奇呀,感觉比较神奇啊,用了一上午逛csdn,也是见识到了好多配置方法,总的来说呢,Dlib库可以配置在python环境,也可以配置在vs环境,可以选择cmake编译,也可以选择dlib源码编译,我比较懒,图省事,配置环境如下:

  • 电脑环境:windows 10
  • 编译环境:vs2013
  • Dlib18.16源码

刚亲测完,就立马跑来记录了,以防忘记 ~~~

1.准备工作

       我的vs已经配置过opencv了,在上一篇blog中刚记录完,所以关于事先是否配置opencv这个问题我就忽略啦~

Dlib18.16下载:去官网呀。或者戳这里:https://github.com/davisking/dlib/releases?after=v18.17

我把解压后的文件夹扔进了vs安装文件中,放在那里应该看你心情,毕竟看大家的操作放哪里都是可以哒。

2.在vs中用Dlib源码直接生成dlib.lib(我的因为命名是dlibTest.lib)文件

2.1 配置项目平台

老套路又来了,打开vs,新建一个win32控制台应用程序,我给它起了个麻烦的名字dlibTest,这个名字很重要欸,搞得我运行出错,思索再三,想到了是它的问题,建议直接命名dlib,减少不必要的麻烦。

新建的项目如下,首先设置它的平台,右键【dlibTest】——【属性】——【配置管理器】,我选择了debugx64,你也可以选择release,全程保持一致就好啦:

2.2 配置项目属性和目录

1.【配置属性】——【常规】,修改以下两项:

 注意:目标文件名按你自己的来啊

2.【c/c++】——【常规】——【附加包含项】,找到dlib文件夹中的libjpeg,libpng和zlib ,比如说我的路径为D:\vs2013\dlib\dlib-18.16\dlib\external\zlib,进行添加:

3. 【c/c++】——【预处理器】——【预处理器定义】,添加DLIB_PNG_SUPPORT、DLIB_JPEG_SUPPORT预处理定义:

4.将项目置为【解决方案资源管理器】模式,在源文件中添加:source.cpp

                                                                    在资源文件中添加: libjpeg,libpng和zlib三个文件夹中的文件

5. 生成解决方案,生成lib文件,比如我的是dlibTest.lib,生成位置如下:

至此,使用dlib源码生成.lib文件完成。

3.配置dlibTest.lib

1.依然是新建一个新的win32控制台应用程序,在Debugx64文件夹下添加新项目属性表,名字自己定义:

2 .右键【属性表】——【属性】,添加dlib-18.16的路径到【vc++目录】的如下目录:

3. 将dlibTest.lib的路径添加到【链接器】——【常规】——【附加库目录】

4.将生成的 dlibTest.lib添加到【链接器】——【输入】——【附加依赖项】

5.将DLIB_PNG_SUPPORT、DLIB_JPEG_SUPPORT添加到【c/c++】——【预处理器】——【预处理器定义】:

单击【应用】——【确定】,完成配置。

4. 测试

#include<dlib\image_processing\frontal_face_detector.h>  
#include<dlib\gui_widgets.h>  
#include<dlib\image_io.h>  
using namespace dlib;
void TestFaceDetect(const char *filename) {
  frontal_face_detector detector = get_frontal_face_detector();
  array2d<unsigned char> img;
  load_image(img, filename);
  std::vector<rectangle> dets = detector(img);
  printf("Numbere of face detected:%d\n", dets.size());
}
int main()
{
  const char *filename = "23.jpg";
  TestFaceDetect(filename);
  system("pause");
  return 0;
}

测试结果:

完美收官~~~给自己撒花花

 

参考博客:https://blog.csdn.net/what_lei/article/details/78289906

目录
相关文章
|
SQL 开发框架 .NET
10分钟系列:NetCore3.1+EFCore三步快速完成数据库交互
10分钟系列:NetCore3.1+EFCore三步快速完成数据库交互
|
9月前
|
缓存
npm install 安装依赖报错解决
npm install 安装依赖报错解决
217 0
|
数据可视化
[√]QGraphicsView / QGraphicsScene
[√]QGraphicsView / QGraphicsScene
180 0
|
Linux 数据安全/隐私保护
Centos安装桌面系统并设置成默认启动
Centos安装桌面系统并设置成默认启动
264 0
|
C++ 计算机视觉 Windows
Visual Studio 安装OpenCV及问题总结
1、VS安装OpenCV基本步骤   1)安装Visual Studio     下载网址https://opencv.org/releases.html#   2)安装OpenCV      下载网址https://www.
3604 0
|
数据采集 TensorFlow 算法框架/工具
Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)
Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集的下载(基于python语言根据爬虫技术自动下载MNIST数据集)
如何通过Matlab获取相机参数进行相机标定
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。
4062 0
|
10月前
|
JavaScript 应用服务中间件 nginx
Docker 部署 Vue
在 Docker 中使用 Node 和 Nginx 基础镜像来部署一个 Vue 项目,通常可以按照以下步骤进行。这些步骤涵盖了从构建 Vue 项目到配置 Dockerfile 和 Nginx 的过程。
106 1
|
算法 C语言
智能车四种常见滤波和 MATLAB 仿真:一阶 RC 低通滤波,二阶 IIR 低通滤波,五阶 FIR 低通滤波,卡尔曼滤波
智能车四种常见滤波和 MATLAB 仿真:一阶 RC 低通滤波,二阶 IIR 低通滤波,五阶 FIR 低通滤波,卡尔曼滤波
1045 0
|
C++ Windows
卸载VS & 安装VS2022
卸载VS & 安装VS2022

热门文章

最新文章