基于OpenCV实现简单人脸面具、眼镜、胡须、鼻子特效(详细步骤 + 源码)

点击下方卡片,关注“OpenCV与AI深度学习”公众号!

视觉/图像重磅干货,第一时间送达!

导读

本文给大家分享一个基于OpenCV实现简单人脸面具、眼镜、胡须、鼻子特效的实例,并附实现步骤和源码。(公众号:OpenCV与AI深度学习)

背景介绍

    OpenCV传统人脸检测是使用Haar特征的级联分类器实现的。Harr级联是一个基于Haar特征的级联分类器。级联分类器是什么?它是一个把弱分类器串联成强分类器的过程。弱分类器和强分类器分别是什么呢?弱分类器是性能受限的分类器,它们没法正确地区分所有事物。如果你的问题很简单,它的输出结果会在一个可以接受的范围内。强分类器可以正确地对数据进行分类。下图展示了它们是如何组合在一起的。Haar级联的另一个重要部分是Haar特征,这些特征简单地总结了不同的长方形区域的区别,如下图所示:

    计算ABCD区域的Haar特征,只需要计算这个区域白色像素和有色像素的区别。在上面四张图表中使用了不同的图案创建Haar 特征,同时其他图案也被使用了。这些图案使用了多重尺度法以确保系统的拉伸是不变的。多重尺度法指把图像缩小再次计算同样的特征。这样可以在给出对象大小有差异的时候候,获得一个可靠的结果。

    OpenCV安装目录中提供了多个已经训练好的Haar分类器模型文件,包含:人脸检测、人眼检测、鼻子检测和身体检测等,如下图所示:

猜你喜欢

转载自blog.csdn.net/stq054188/article/details/123358489