从数据库OpenCV中搜索检测到的面部

时间:2013-05-21 12:57:28

标签: c++ database opencv codeblocks face-detection

我正在使用此代码:

Program sample

上述链接已在此页面的帮助下编程: Servo Magazine

此代码可以执行提取面部,学习面部并将学习面部保存在带有标签的数据库中(例如:chris_laughing.bmp或chris_sad.bmp)。它可以识别用户在数据库中保存的面部。

如果人员不在数据库中,我的项目会向用户发送电子邮件。

  • 我包含了向用户发送电子邮件的功能。

所以我从2星克里斯和约翰那里保存了2张不同的图像。当我点击识别时,他们会从数据库中向我显示带有标签的正确星号(例如:chris_laughing.bmp)。

问题是如果我从另一个明星或人(也不是克里斯不是约翰)中提取(检测)一张脸,代码会向我显示数据库中最近的星。

我想要的是程序给我一个消息框说:这个人不在数据库中。

是否可以使用本程序(代码)??

1 个答案:

答案 0 :(得分:0)

该程序的工作原理是假设每个人的面部图像位于与其他人不同的子空间中。在某些情况下,这个想法可以很好地运作。程序为每个人学习子空间,当您输入新图像时,它会测量到之前学过的所有子空间的距离,并选择最近的子空间。

该程序似乎没有任何检查图像距离所有学习子空间太远。但是,尝试添加该功能将是一个有趣的练习。

以下是有关软件主要观点的一些信息:http://en.wikipedia.org/wiki/Eigenface