window+VS+OpenCV编译libfacedetection库进行人脸检测
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库进行人脸检测相关推荐
- OpenCV4Android开发实录(2): 使用OpenCV3.4.1库实现人脸检测
OpenCV4Android开发实录(2): 使用OpenCV3.3.0库实现人脸检测 转载请声明出处:http://write.blog.csdn.net/postedit/78992490 Ope ...
- 使用Python,OpenCV和Haar级联进行人脸检测——轻量级的人脸检测器
使用Python,OpenCV和Haar级联进行人脸检测--轻量级的人脸检测器 1. 效果图 2. 原理 2.1 项目结构 2.2 [haarcascade_frontalface_default.x ...
- opencv 训练人脸对比_【项目案例python与人脸识别】基于OpenCV开源计算机视觉库的人脸识别之python实现...
" 本项目是一个基于OpenCV开源库使用python语言程序实现人脸检测的项目,该项目将从[项目基础知识](即人脸识别的基本原理).[项目实践](人脸识别所需要的具体步骤及其python程 ...
- opencv编译python库_linux 下编译安装 opencv-python
编译参考 Docker环境下编译,内部整理的详细的编译选项和整个编译的流程,可以直接用,也可以参考: https://github.com/SkeLLLa/docker-ffmpeg-opencv h ...
- 如何用OpenCV在Python中实现人脸检测
选自towardsdatascience 作者:Maël Fabien 机器之心编译 参与:高璇.张倩.淑婷 本教程将介绍如何使用 OpenCV 和 Dlib 在 Python 中创建和运行人脸检测算 ...
- 【从零学习openCV】IOS7下的人脸检测
前言: 人脸检测与识别一直是计算机视觉领域一大热门研究方向,而且也从安全监控等工业级的应用扩展到了手机移动端的app,总之随着人脸识别技术获得突破,其应用前景和市场价值都是不可估量的,目前在学习ope ...
- OpenCV调用手机摄像头与人脸检测
文章目录 一.OpenCV机器视觉环境搭建 1. OpenCV下载 2. OpenCV安装 3. 安装测试 二.OpenCV调用摄像头及人脸检测 1. 调用电脑摄像头 2. 调用手机摄像头及人脸检测 ...
- Opencv中的深度学习(人脸检测、车牌检测、DNN)
首先,无论是做检测还是DNN图像分类,所有的模型或配置文件都需要从以下三个网站中下载IT大牛们帮我们创建的各种分类器: # 人脸检测 ''' https://github.com/opencv/ope ...
- 利用Google的Vision库实现人脸检测
利用的Google的vision library实现人脸检测功能 本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 前言 之前写了一篇人脸检测的文章是基于OpenCV的Cascade ...
最新文章
- linux之循环执行任务
- Java内部类 Inner Class
- 语音识别遇到的困难 - 浅谈语音识别技术的发展趋势与应用前景
- 如何在photoshop中应用3DLUT预设?ps怎么安装.3dl、.look、.cube预设?
- 四元数与欧拉角(数学推导)
- 网络邻居计算机访问权限设置,网上邻居计算机拒绝访问
- html+css+js制作原神官网,web前端大作业(流风眷堇庭+6个页面+链接)
- 装饰器模式实现咖啡店(Java代码实例)
- 忘记HP服务器ilo密码?如何在不重启服务器的情况下重置ilo登录密码
- Spring系列——@lazy注解
- STEAM上的一款电路模拟神器 — CRUMB Circuit Simulator
- 用JS控制flvplayer.swf播放视频
- 【Soul源码阅读】3.HTTP 用户接入 Soul 流程解析
- php 计算一年中周数,php 计算出一年中每周的周一日期
- CPU内部结构及工作原理
- python 输入输出重定向_输入输出重定向_清华尹成python入门教程_少儿编程视频-51CTO学院...
- opencv的java api_OpenCV Java开发教程
- 2.Latex安装和TeXworks Editor基础
- 真正中文版攻略之出云战记零IZUMO0
- 单片微型计算机原理及应用第三版答案胡乾斌,单片微型计算机原理-胡乾斌--课后习题答案...