「这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战」
🌊 作者主页:海拥
🌊 作者简介:🥇HDZ核心组成员、🏆全栈领域优质创作者、🥈蝉联C站周榜前十
🌊 粉丝福利:进粉丝群每周送四本书(每位都有),每月抽送各种小礼品(掘金搪瓷杯、抱枕、鼠标垫、马克杯等)
在本文中,我们将了解如何使用 OpenCV 和 Python 模糊和匿名化人脸。
为此,我们将使用级联分类器来检测人脸。确保从这个链接下载相同的xml文件:
方法
- 首先,我们使用内置的人脸检测算法,从实时视频或图像中检测人脸。在这里,我们将使用级联分类器方法从实时视频(使用网络摄像头)中检测人脸。
- 然后,读取来自实时视频的帧。存储最新的帧并转换为灰度,以更好地理解特征。
- 现在,为了使输出美观,我们将在检测到的人脸周围制作一个彩色边框矩形。但是,我们希望检测到的人脸是模糊的,所以我们使用中值模糊函数来做同样的事情,并提到应该模糊人脸的区域。
- 而且,现在我们想要显示模糊的脸,使用 imshow 函数读取的帧,我们希望它被显示,直到我们按下一个键。
分步实施:
步骤 1: 导入人脸检测算法,称为级联分类器。
1 | python复制代码import cv2 |
步骤 2: 从视频中捕获帧,以便从帧中检测人脸
1 | python复制代码video_capture = cv2.VideoCapture(0) |
步骤 3: 将捕获的帧更改为灰度。
1 | python复制代码# 将帧转换为灰度(黑白阴影) |
步骤 4: 在检测到的人脸周围绘制一个彩色矩形。
1 | python复制代码for x, y, w, h in face: |
步骤 5: 模糊矩形内的部分(包含检测到的人脸)。
1 | python复制代码# 模糊矩形中的人脸 |
步骤 6: 显示最终输出,即检测到的人脸(矩形内)是模糊的。
1 | python复制代码# 在视频中显示模糊的脸 |
下面是完整的实现:
1 | python复制代码import cv2 |
输出:
写在最后的
我已经写了很长一段时间的技术博客,并且主要通过掘金发表,这是我的一篇使用 OpenCV 和 Python 模糊和匿名化人脸。我喜欢通过文章分享技术与快乐。您可以访问我的博客: juejin.cn/user/204034… 以了解更多信息。希望你们会喜欢!😊
💌 欢迎大家在评论区提出意见和建议!💌
本文转载自: 掘金