更多腾讯海量技术文章,请关注云加社区: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++代码
领取专属 10元无门槛券
私享最新 技术干货