基于OpenCV的脸部识别试验

看了一天的系分论文,实在是难受,一边想着做各种各样的机器视觉试验,一边由于考试临近又没有专心复习而受到良心的谴责,真的太不喜欢读书了,决定不再逼自己了,这次软考就当去熟悉考场吧 :oops: ,继续我的脸部识别试验,大概构想是写一个网络机器人,自动去收集网上带有人脸的图片,填充到本地数据库,在本地的应用程序中输入一张要找的人的图片,搜索可以得到数据库中面部特征符合的图片的预览和相关链接。

正脸和侧脸的识别截图:


本来尝试自己写个面部识别的基本特征XML,把面部各器官的相对位置和比例做范围上的限制,再在JAVA中调用,将这个面部平面进行球体旋转,来匹配各种角度的人脸。实验中,只有脸正对着摄像头的时候效果比较理想,侧转大一点就不太行,而且会不时把其他东西识别成脸,反而不认我的脸,不知道是我的脸有问题还是程序有问题 8O
后来想起OpenCV有个脸部识别库,就决定去试试,硬着头皮用起我极其不喜欢的VC(没见过比VC还要难用的IDE),把系统自带的识别摄像头的例子改成识别外部导入的图像,这样比较有可比性,总的来说效果不错,侧脸的识别率比较高,但仍会把一些不是脸的东西当脸,但不会漏掉真正的脸,唯一不足的是运行效率比较低,估计是面部识别的特征参数比我写的要完善得多,所以需要更多判断,但都在可以接受的范围,接下来就开始要一点一点把这些做成DLL,让JAVA或VB来调用,实在是受不了VC了!!