OpenCV检测篇二:笑脸检测

更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer

作者:刘潇龙

前言

由于本文与上一篇OpenCV检测篇(一)——猫脸检测具有知识上的连贯性,所以建议没读过前一篇的先去阅读一下前一篇,前面讲过的内容这里会省略掉。

笑脸检测

其实也没什么可省略的,因为跟在opencv中,无论是人脸检测、人眼检测、猫脸检测、行人检测等等,套路都是一样的。正所谓:

自古深情留不住,总是套路得人心。

发挥主要作用的函数有且仅有一个:detectMultiScale()。前一篇猫脸检测中已经提到过这个函数,这里就不再详细赘述。

这里只说一下笑脸检测的流程,显然也都是套路:

1.加载人脸检测器进行人脸检测

2 加载笑脸检测器进行笑脸检测

检测的时候用的都是同一个函数,也即上述detectMultiScale()函数。这里需要注意的一点是:

笑脸检测是在人脸检测之后得到的人脸区域中进行的。我猜它用到的算法很可能是检测人的嘴角的姿态,因为笑脸检测最后的输出结果就是框住了人上扬的嘴角。

效果展示

更多

这么多内容作为一篇的话我觉得是不是略少?那就加点内容吧,我把上面的内容用C++有写了一遍,不同于上面的直接检测图片,C++版本是调用摄像头来检测自己的笑脸。

代码获取

分别是想要亲自尝试一下的朋友可以从我的github上获取代码。

C++版本:

https://github.com/LiuXiaolong19920720/smile-detection-Cpp

Python版本:

https://github.com/LiuXiaolong19920720/smile-detection-Python

Python代码

C++代码

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171229A0HSSU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券