libfacedetection 是一个基于CNN的人脸检测的开源库。libfacedetection库是深圳大学的于仕琪老师发布的开源人脸检测库,相比于OpenCV自带的CascadeClassifier人脸检测,无论在速度上还是精度上,都有巨大的优势,是目前已知开源库中最好用的一款。CNN模型已在C源文件中转换为stastic variales。目前该项目已开放源码。源代码不依赖于任何其他库。你需要的只是一个C++编译器。您可以使用C ++编译器在Windows,Linux,ARM和任何平台下编译源代码。

代码地址:https://github.com/ShiqiYu/libfacedetection

模型文件也已在./models/ 目录中提供,使用Caffe训练得到。

源码文件也已在./src/ 目录中提供.

源码解读暂且放在一边,本文主要讲解如何在VS上编译该工程,并运行。

1、首先创建一个解决方案,win32控制台应用程序,确定,选择空项目,完成。

2、将下载的源代码放在项目目录下

上述4个文件放在项目文件下,即下图中的facedetection文件夹下

放好之后如下所示:

3、依次添加头文件和源文件

添加现有项,找到项目目录下的头文件,进行添加

同理源文件也一样(4个),进行添加,添加完毕如下图所示:

随后,我们创建一个main.c文件,将“libfacedetectcnn-example.cpp”内的代码复制一份,拷贝到新建的main.c文件内。

如下图:

4、设置包含目录

进行完第三步,可能会出现错误“#include "facedetectcnn.h",显示无法打开源文件,我们右击解决方案,选择“属性”--“VC++目录”--“包含目录”,填入facedetectcnn.h头文件所在路径,即可。

5、运行

该main函数是通过argv[]传递参数,因此我们要把人脸图像传递给命令参数,

点击“调试”---“facedetection属性页”---“调试”---“命令参数”,在弹出的命令参数窗口中输入你的图像(注意如果你的图像不在项目路里,要添加路径才行,不然会读取失败),我的图像“1.jpg放在项目目录下,所以之间填写图像名即可”如下:

运行结果:

检测效果还是很牛逼的!!!

从图中我们发现有误检测,这里我们可以对confidence做一个简单的阈值处理,添加一行代码即可,“if(confidence>40)”,这样人脸confidence分数小于40的,就不会在图像中画出矩形框,结果如下:

搞定!

源码解读,敬请期待!

window+VS+OpenCV编译libfacedetection库进行人脸检测相关推荐

  1. OpenCV4Android开发实录(2): 使用OpenCV3.4.1库实现人脸检测

    OpenCV4Android开发实录(2): 使用OpenCV3.3.0库实现人脸检测 转载请声明出处:http://write.blog.csdn.net/postedit/78992490 Ope ...

  2. 使用Python,OpenCV和Haar级联进行人脸检测——轻量级的人脸检测器

    使用Python,OpenCV和Haar级联进行人脸检测--轻量级的人脸检测器 1. 效果图 2. 原理 2.1 项目结构 2.2 [haarcascade_frontalface_default.x ...

  3. opencv 训练人脸对比_【项目案例python与人脸识别】基于OpenCV开源计算机视觉库的人脸识别之python实现...

    " 本项目是一个基于OpenCV开源库使用python语言程序实现人脸检测的项目,该项目将从[项目基础知识](即人脸识别的基本原理).[项目实践](人脸识别所需要的具体步骤及其python程 ...

  4. opencv编译python库_linux 下编译安装 opencv-python

    编译参考 Docker环境下编译,内部整理的详细的编译选项和整个编译的流程,可以直接用,也可以参考: https://github.com/SkeLLLa/docker-ffmpeg-opencv h ...

  5. 如何用OpenCV在Python中实现人脸检测

    选自towardsdatascience 作者:Maël Fabien 机器之心编译 参与:高璇.张倩.淑婷 本教程将介绍如何使用 OpenCV 和 Dlib 在 Python 中创建和运行人脸检测算 ...

  6. 【从零学习openCV】IOS7下的人脸检测

    前言: 人脸检测与识别一直是计算机视觉领域一大热门研究方向,而且也从安全监控等工业级的应用扩展到了手机移动端的app,总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,目前在学习ope ...

  7. OpenCV调用手机摄像头与人脸检测

    文章目录 一.OpenCV机器视觉环境搭建 1. OpenCV下载 2. OpenCV安装 3. 安装测试 二.OpenCV调用摄像头及人脸检测 1. 调用电脑摄像头 2. 调用手机摄像头及人脸检测 ...

  8. Opencv中的深度学习(人脸检测、车牌检测、DNN)

    首先,无论是做检测还是DNN图像分类,所有的模型或配置文件都需要从以下三个网站中下载IT大牛们帮我们创建的各种分类器: # 人脸检测 ''' https://github.com/opencv/ope ...

  9. 利用Google的Vision库实现人脸检测

    利用的Google的vision library实现人脸检测功能 本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 前言 之前写了一篇人脸检测的文章是基于OpenCV的Cascade ...

最新文章

  1. linux之循环执行任务
  2. Java内部类 Inner Class
  3. 语音识别遇到的困难 - 浅谈语音识别技术的发展趋势与应用前景
  4. 如何在photoshop中应用3DLUT预设?ps怎么安装.3dl、.look、.cube预设?
  5. 四元数与欧拉角(数学推导)
  6. 网络邻居计算机访问权限设置,网上邻居计算机拒绝访问
  7. html+css+js制作原神官网,web前端大作业(流风眷堇庭+6个页面+链接)
  8. 装饰器模式实现咖啡店(Java代码实例)
  9. 忘记HP服务器ilo密码?如何在不重启服务器的情况下重置ilo登录密码
  10. Spring系列——@lazy注解
  11. STEAM上的一款电路模拟神器 — CRUMB Circuit Simulator
  12. 用JS控制flvplayer.swf播放视频
  13. 【Soul源码阅读】3.HTTP 用户接入 Soul 流程解析
  14. php 计算一年中周数,php 计算出一年中每周的周一日期
  15. CPU内部结构及工作原理
  16. python 输入输出重定向_输入输出重定向_清华尹成python入门教程_少儿编程视频-51CTO学院...
  17. opencv的java api_OpenCV Java开发教程
  18. 2.Latex安装和TeXworks Editor基础
  19. 真正中文版攻略之出云战记零IZUMO0
  20. 单片微型计算机原理及应用第三版答案胡乾斌,单片微型计算机原理-胡乾斌--课后习题答案...

热门文章

  1. python使用kafka原理详解真实完整版_史上最详细Kafka原理总结
  2. 解决ssh无密码登录不成功的问题
  3. SQL Sever 刪除重複數據只剩一條
  4. 配置zabbix及安装agent
  5. 匿名函数 lambda
  6. jquery报.live() is not a function的解决方法
  7. MongoDB工具介绍
  8. NOIP 2014 Day1 T3飞扬的小鸟
  9. 正式版的Office2007打不开beta版创建的文件
  10. Java、JS、OC、Flutter的Base64编码和解码