技术文摘
Python + OpenCV :50 行代码实现人脸追踪
Python + OpenCV :50 行代码实现人脸追踪
在计算机视觉领域,人脸追踪是一项非常有趣且具有挑战性的任务。通过 Python 和 OpenCV 库的强大功能,我们仅用 50 行左右的代码就能实现基本的人脸追踪。
确保您已经安装了 Python 和 OpenCV 库。接下来,让我们开始编写代码。
import cv2
# 加载级联分类器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 打开摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取每一帧图像
ret, frame = cap.read()
# 转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 检测人脸
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
# 绘制矩形框
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)
# 显示结果
cv2.imshow('Face Tracking', frame)
# 按 'q' 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
在上述代码中,我们首先导入了 cv2 库,并加载了 haarcascade_frontalface_default.xml 这个预训练的人脸检测分类器。然后,通过 VideoCapture 函数打开摄像头,获取实时视频流。
在循环中,我们将每一帧图像转换为灰度图像,这有助于提高人脸检测的效率。使用 detectMultiScale 函数检测人脸,并获取人脸的位置信息。最后,通过绘制矩形框来标记人脸的位置,并将处理后的图像显示出来。
通过这样简洁的代码,我们就能实现人脸追踪的功能。当然,这只是一个简单的示例,实际应用中可能需要更复杂的处理和优化,比如处理多人脸、提高检测精度、适应不同的光照条件等。
但无论如何,这个基础的实现为我们进一步探索和开发更强大的人脸追踪系统提供了一个良好的起点。希望您通过这个示例,能更深入地了解 Python 和 OpenCV 在计算机视觉中的应用。
TAGS: 技术实践 代码实现 Python_OpenCV 人脸追踪 人脸追踪应用
- 这 5 个 VS 扩展激发你的开发热情
- 五分钟明晰浏览器工作机制
- 优秀的 JavaScript 框架在桌面应用程序创建中的应用
- 2000 亿市场待瓜分,三大运营商 5G+VR 谁更强?
- Python 列表去重的多种方式
- Python 开发者调查:仅十分之一的人仍用 Python 2
- 利用 GitHub Action 构建 CI/CD 系统
- 10 大实用开源 JavaScript 图像处理库推荐
- 开发者向破解者道歉牵出“阿里云假员工” 网友:其有前科
- 那些被你忽略的 git commit 规范
- 谷歌工程师分享的 17 条数据库避坑指南 获赞 5K+
- 知乎热议:计算机专业月薪 5 千至 3 万,钱景怎样?网友称虚高
- 非常时期 5G+VR 大有可为
- IF 与 Switch 速度大比拼:揭开 Switch 背后之谜
- 25 个常用 Matplotlib 图的 Python 代码,值得收藏!