如何使用OpenCV进行人脸识别?

Ram*_*rma 2 c++ opencv face-recognition

我正在尝试使用OpenCV做一些人脸识别(不是检测)的东西.我发现这篇文章有一些代码:

http://www.cognotics.com/opencv/servo_2007_series/index.html

但是,此代码是使用较旧的C风格的OpenCV API编写的.是否有人使用像OpenCV 2.3.1这样的更新版本的C++ API版本?

byt*_*ish 10

更新:OpenCV 2.4.2现在附带了新的cv :: FaceRecognizer.请参阅以下详细文档:

我发布了libfacerec,一个用于OpenCV C++ API(BSD许可证)的现代人脸识别库.libfacerec没有其他依赖关系,并实现了Eigenfaces方法,Fisherfaces方法和局部二进制模式直方图.该库的部分内容将包含在OpenCV 2.4中.

libfacerec的最新版本可在以下网站获得:

该库是为OpenCV 2.3.1编写的,考虑到即将推出的OpenCV 2.4,因此我不支持早于2.3.1的OpenCV版本.这个项目是一个带有详细记录的API的CMake项目,还有一个关于性别分类的教程.您可以在以下位置查看文档的HTML版本:

如果您想了解这些算法的工作原理,您可能需要阅读我的人脸识别指南(包括Python和GNU Octave/MATLAB示例):

相关出版物是:

  • Turk,M.和Pentland,A.Eigenfaces for recognition..Journal of Cognitive Neuroscience 3(1991),71-86.
  • Belhumeur,PN,Hespanha,J.和Kriegman,D.Eigenfaces vs. Fisherfaces:使用类特定线性投影进行识别..IEEE Transactions on Pattern Analysis and Machine Intelligence 19,7(1997),711-720.
  • Ahonen,T.,Hadid,A.和Pietikainen,M.面部识别与局部二元模式..计算机视觉 - ECCV 2004(2004),469-481.