身为一个.net程序员经过两天的采坑终于把人脸特征检测的项目跑通了,然后本文将以dlib项目中人脸特征检测工程为例,讲解dlib与opencv 在vs2017 C++ 项目中的编译与运行路径配置。

1、项目建立

首先建立一个C++控制台项目,然后根据自己的开发平台选择编译环境我是win10 64位系统所以我选择x64。

建立控制台项目

编译环境选择X64

2、Opecv 3.4.1安装配置

Opencv最新版下载地址:https://opencv.org/

下载最新版本3.4.1

1、配置Opencv系统环境路径:系统属性→高级系统设置→环境变量→系统变量→Path编辑→新建添加Opencv环境路径  (你的安装目录)\opencv\build\x64\vc15\bin\

进入环境变量配置

增加环境变量路径

2、回到我们一开始建立的C++项目开始配置Opencv引用路径(C#里直接引用个dll的事情在C++都得靠静态指向过去我也挺醉的 ,又更好的方法请告诉我毕竟我是C++小白。。。),vs编译器视图→其它窗口→属性管理器 ,在自己编译器环境下增加新项目属性表。

增加opencv的属性表

3、双击进入属性页VC++目录→包含目录and库目录中加入以下路径:

 包含目录:(你的安装目录)\opencv\build\include\opencv  (你的安装目录)\opencv\build\include\opencv2  (你的安装目录)\opencv\build\include

 库目录:(你的安装目录)\opencv\build\x64\vc15\lib

加入opencv库目录

4、链接器→输入→附加依赖项 加入opencv的静态链接库名字opencv_world341d.lib (不同版本的名字不一样自己看好再填)opencv\build\x64\vc15\lib 目录下查看

加入opencv静态链接库名字

5、验证opencv是否配置完毕在新建的项目中加入 #include <opencv2/opencv.hpp>  查看是否可以引用。

3、Dlib安装配置

1、下载最新版本Dlib http://dlib.net/  ,下载Cmake (一款跨平台的编译工具)https://cmake.org/

2、编译Dlib 选择dlib源目录与编译后的存放目录,选择好之后点击Generate开始编译。

3、同Opencv一样加入Dlib的新项目属性表,双击进入属性页。VC++目录→包含目录、引用目录、库目录添加Dlib根目录

\dlib-19.9\

链接器→输入→附加依赖项 添加dlib_debug_64bit_msvc1911.lib 同 opencv一样请自行查看编译后目录正确的lib名字 目录为你编译好的目录Debug目录下

C/C++ → 附加包含目录中加入

D:\Git\Dlibx64\Debug

  

4、项目右键加入现有项Dlib中的 source.cpp  ,Dlib到此配置完毕。

\dlib\all

4、人脸特征点识别

Dlib里包含各种demo,以下是人脸特征点识别的demo 需要配合样本库才能运行样本库下载地址为http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 ,下载后放到项目目录下即可。

D:\Git\dlib-19.9\examples\webcam_face_pose_ex.cpp

5、遇到的各种编译问题

1、stdafx.h编译头问题 解决方法如下:

1、右键除stdafx.cpp以外其他cpp 属性页中C/C++ 下预编译头 选择不使用预编译头
2、右stdafx.cpp 属性页中C/C++ 下预编译头 创建预编译头

2、各种恶心的重定义问题,项目右键属性→C/C++→预处理器→预处理器定义添加 WIN32_LEAN_AND_MEAN  我看这个大部分Dlib教程都没有写 估计都是各种C++大触写个C++中小触看的 我等.net菜鸡不懂啊!!!那么多报错吓死多少人。

3、找不到静态链接库文件,重新检查我上面提到的几个路径。

PS:爆下自己的丑照最终效果代码我去别的地方爬的官方代码太慢。。。

vs2017 dlib19.3 opencv3.41 C++ 环境配置 人脸特征点识别的更多相关文章

  1. OpenCV3.2 + VS2015环境配置

    一.准备工作: (1)   到OpenCV的官网(http://opencv.org/)下载OpenCV3.2 (2)   安装好VS2015. (3)   计算机系统:Win7(Win8, Win1 ...

  2. 详解QT5.10.0搭载OpenCV3.4.0环境配置步骤说明

    一.准备工作: 1下载Qt5.10.0 和 Qt Creator 4.5.0软件(http://download.qt.io/official_releases/qt/) 2.下载opencv3.40 ...

  3. OpenCV - win7+vs2013(2012)+opencv3.0.0 环境配置 (以及配置技巧)

    1. opencv 3.0.0 库下载地址, 这里的版本是3.0.0,其他的版本配置可能不一样,请大家注意. http://sourceforge.net/projects/opencvlibrary ...

  4. opencv3学习1:opencv3.4.10与vs2017环境配置

    原教程网址:https://jingyan.baidu.com/article/dca1fa6f13bd55f1a44052b9.html 具体教程网上很多,我也相信大家的搜素能力,作为一个初入C++ ...

  5. opencv-python:win7下,搭建python2.7.5环境,配置opencv3.1.0准备开工-OpenCV步步精深

    我的个人博客:点这里 搭建python2.7.5环境 下载python2.7.5 64位:https://www.python.org/ftp/python/2.7.5/python-2.7.5.am ...

  6. 75.VS2013和opencv3.1.0开发环境配置

    首先要做的就是 开发环境配置,具体过程如下: Step 1:OpenCV环境变量配置 我的电脑--->属性--->高级系统设置--->高级--->环境变量--->系统变量 ...

  7. Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

    Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04  配置参考文献 ---- Wang Xiao Warning: Please make sure the cud ...

  8. Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结

    Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04  配置参考文献 ---- Wang Xiao  Anhui University  CVPR ...

  9. 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow

    深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直 ...

随机推荐

  1. libphp5.so可能遇到的问题(转摘)

    libphp5.so可能遇到的问题(转摘) 安装完APACHE和PHP5后,经常在启动APACHE载入libphp5.so时发现问题.我把遇到的问题统计下来: 1.undefined symbol:S ...

  2. IP地址结构分类(包括主机号和网络好计算)

    IP地址:互联网上的每个接口的唯一标识. 长度:32bit. 五类不同的互联网地址格式: 各类IP地址范围: 点分十进制:32位的地址通常写成四个十进制数,其中每个整数对应一个字节. 主机号和网络的计 ...

  3. spring-boot-学习笔记(三)-过滤器

      过滤器有两种配置方式,一种是通过注解来完成,一种是通过自定义配置类来设置 这里假设的场景是,定义一个过滤器,过滤所有请求,如果参数中没有username信息则重定向到login_page登录页面, ...

  4. 吴裕雄--天生自然 python开发学习笔记:下载python离线安装whl文件链接

    https://www.lfd.uci.edu/~gohlke/pythonlibs/

  5. Future 异步多线程

    进来接手一个任务,需要做异步多线程数据源调用,数据源的配置和使用请阅读相关文章: https://www.cnblogs.com/haoliyou/p/9604452.html 配置好数据源后,实质上 ...

  6. 查询优化基础知识 - chendh blog

    概述 处理一个给定的查询,尤其是复杂查询,通常会有许多种策略,查询优化就是从这许多策略中找出最有效的查询执行计划的处理过程. 查询执行计划的步骤 产生逻辑上与给定表达式等价的表达式: 估计每个执行计划 ...

  7. ArrayList与LinkList对比

    本文简要总结一下java中ArrayList与LinkedList的区别,这在面试中也是常常会问到的一个知识点. 先来看一下ArrayList和LinkedList的关系是怎样的: 从继承体系可以看到 ...

  8. github hexo配置踩过的坑

    大体步骤:配置npm,在github中增加自己的sshkey. 多sshkey的话在用户主目录的.ssh中要配置好. 删除仓库里面 source/_posts/我的文章.md 执行下面命令更新博客 h ...

  9. Oracle最大进程连接数问题

    问题描述 分析报告保存功能,在本地测试使用时可以正常保存:但是部署在客户现场的系统该功能无法保存成功(全部保存): ---->代码功能没有问题,问题应该在服务器配置或者数据库配置等方面出现问题: ...

  10. JobScheduler 和 JobService

    使用AlarmManager.IntentService和PendingIntent相互配合,创走周期性的后台任务,实现一个完全可用的后台服务还需要手动执行以下操作.   计划一个周期性任务    ...