技术文摘
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 人脸追踪 人脸追踪应用
- Python 编程中 Dict 和 Set 常用用法大盘点
- C#+Selenium+ChromeDriver 实现网页爬取及真实用户浏览行为模拟
- IDEA 中的敏捷开发实时模版技巧
- 2021 年日本 IT 工程师期望学习的编程语言排名 建议收藏
- 搞懂异步与多线程,一篇文章足矣
- 码农必知的重要软件构架模式
- Python 中三种实现数据写入 Excel 的模块
- 深入探究 Python 解释器源码 我终于知晓字符串驻留原理
- 再谈 Vue 学习
- 策略模式在项目设计中的应用频率如何?
- Python 入门总失败?这 4 大陷阱你得避开
- Mybatis 中适配器模式的奇妙运用
- React 安全的十种实践
- 这些 Python 小技巧,或许你还未听闻!
- Java 基础入门:自定义异常、形参可变方法与水仙花数