调用OpenCV实现人脸识别功能
2019独角兽企业重金招聘Python工程师标准>>>
文章图片
承接上篇的OpenCV3.1安装配置,这里写了调用OpenCV的一些人脸识别C++方法。
OpenCV非常方便,拥有各种图片处理的功能,个人只了解了部分关于人脸识别方面的知识。这里介绍:人脸的识别,图片灰度化的例子,方便大家入门学习。
首先创建一个解决方案(OpenCVInstance1)并配置OpenCV 3.1的调用(参照上篇:关于OpenCV 3.1的搭建使用经验)。配置后即可开始使用OpenCV3.1的功能,以下为使用的两个例子方法:
void rectface(char* url, char* url2);
int grayface(char* url, char* url2);
rectface()方法用于对图片中人脸“加框”识别。
grayface()方法用于灰度化图片并截取人脸图片。
原图:
文章图片
rectface()方法加框后:
文章图片
grayface()方法灰度化并截取人脸后:
文章图片
文章图片
OpenCV支持三种图像特征分类器:HOG特征、LBP特征、Haar特征,这里使用Haar特征分类器。
一、Haar特征分类器
这里人脸识别使用到Haar特征分类器。Haar特征分类器是是Boosting算法的一个应用,它使用级联分类器对图片进行分析,通过人脸特征值来识别出人脸。涉及算法方面知识复杂,这里只是介绍使用。在OpenCV的目录下带有各种特征分类器文件(.xml):%OpenCV_HOME%\install\etc;例子项目中使用的是haarcascade_frontalface_alt.xml。
Haar特征参考文章:http://blog.csdn.net/liulina603/article/details/8617281
http://www.cnblogs.com/ello/archive/2012/04/28/2475419.html
二、灰度化
特征分类器对图片的分析,主要是对指定区域中,不同像素点的色彩差来区分,而灰度图更加清晰反映图像特征,所以一般先将图片进行灰度化。
本项目源码(GitHub):https://github.com/alvinlovelife/OpenCV-Instance.git
【调用OpenCV实现人脸识别功能】转载于:https://my.oschina.net/u/1863428/blog/802017
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- SpringBoot调用公共模块的自定义注解失效的解决
- opencv|opencv C++模板匹配的简单实现
- Java|Java OpenCV图像处理之SIFT角点检测详解
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- thinkphp|thinkphp 3.2 如何调用第三方类库