OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face

在上一章讲到了OpenCV的安装

问题:

仅仅安装了OpenCV想学习人脸识别的时候就会出现些错误,在这里简单介绍一下:

使用最新版的OpenCV进行人脸识别会发现没有face.hpp这个文件,而有一些网上的讲解视频当使用==#include<opencv2/face.hpp>==时,我们却没有,因为最近实现人脸识别,由于采用的是opencv3,而opencv3的人脸识别库等contrib模块已经不再内置了。这也正是人脸识别等contrib模块没有放到主仓库的原因:不稳定,仍在开发中。

快速解决方案

所以要想学习和使用人脸识别的话就必须下载contrib模块,这个是避不开的

opencv_contrib下载地址:https://github.com/opencv/opencv_contrib/releases(根据自己下载的opencv版本下载)

下载完成,解压后可以得到:

OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face
打开modules/face/include/opencv2

OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face
便可以看到

OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face
将这两个文件复制到你安装opencv下build/include/opencv2

OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face
OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face

当然这是一个较为粗暴的方法,这个时候重新编译就不会报错了

OpenCV人脸识别:没有face.hpp文件和namespace cv 没有成员 face