第 2 步:软件设置
①安装 Python
本文中的代码是用 Python 版本 3.5 构建的 。 虽然有多种方法来安装 Python , 但我建议使用 Anaconda , 这是最流行的数据科学 Python 发行版 。
这是系统中安装 Anaconda 的链接:
②安装 OpenCV
OpenCV(开源计算机视觉)是一个旨在构建计算机视觉应用程序的库 。 它有许多用于图像处理任务的预编写函数 。
想安装 OpenCV , 对库进行 pip 安装:
pip3 install opencv-python ③安装 face_recognition API
最后 , 我们将使用 face_recognition , 这号称是世界上最简单的面向 Python 的人脸识别 API 。
想安装它 , 请运行下列命令:
pip install dlib pip install face_recognition 深入了解实现方式
现在你已设置好了系统 , 终于可以深入了解实际的实现方式 。 首先 , 我们将迅速构建程序 , 然后对其分解以了解我们所做的工作 。
先创建一个文件 face_detector.py , 然后拷贝如下所示的代码:
# import libraries import cv2 importface_recognition# Get a reference towebcam video_capture =cv2.VideoCapture("/dev/video1")# Initialize variables face_locations = []while True:# Grab a single frame of videoret, frame = video_capture.read()# Convert the image from BGR color (whichOpenCV uses) to RGB color (which face_recognition uses)rgb_frame = frame[:, :, ::-1]# Find all the faces in the current frameof videoface_locations =face_recognition.face_locations(rgb_frame)# Display the resultsfor top, right, bottom, left inface_locations:# Draw a box around the facecv2.rectangle(frame, (left, top),(right, bottom), (0, 0, 255), 2)# Display the resulting imagecv2.imshow('Video', frame)# Hit 'q' on the keyboard to quit!if cv2.waitKey(1) & 0xFF == ord('q'):break# Release handle tothe webcam video_capture.release() cv2.destroyAllWindows() 然后 , 输入以下命令 , 运行该 Python 文件:
python face_detector.py 如果一切正常 , 会弹出一个新窗口 , 实时人脸检测在运行中 。
总结一下 , 这是我们上述代码执行的操作:
- 首先 , 我们定义了将进行视频分析的硬件 。
- 此后 , 我们实时捕捉视频 , 逐帧捕捉 。
- 然后 , 我们处理每帧 , 并提取图像中所有人脸的位置 。
- 最后 , 我们以视频形式渲染这些帧以及人脸位置 。
人脸检测的用例
乐趣并不仅限于此!我们能做的另一件很酷的事情就是围绕上述代码构建完整的用例 。 而且你无需从头开始 , 我们只要对代码进行几处小小的改动即可 。
比如说 , 假设你想构建一个基于摄像头的自动系统来实时跟踪说话人的位置 。 根据其位置 , 系统转动摄像头 , 以便说话人始终在视频的中间 。
我们该如何解决这个问题?第一步是构建识别视频中一个人或多个人的系统 , 并关注说话人的位置 。
不妨看看我们如何实现这一点 。 为了本文需要 , 我从 Youtube 上下载了一段视频() , 视频中有个人在 2017 年 DataHack 峰会上讲话 。
首先 , 我们导入必要的库:
import cv2 importface_recognition
推荐阅读
- 计算机专业大一下学期,该选择学习Java还是Python
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 2021年Java和Python的应用趋势会有什么变化?
- 非计算机专业的本科生,想利用寒假学习Python,该怎么入手
- 用Python制作图片验证码,这三行代码完事儿
- 手把手配置HLS流媒体服务器
- 历时 1 个月,做了 10 个 Python 可视化动图,用心且精美...
- 为何在人工智能研发领域Python应用比较多
- 对于非计算机专业的同学来说,该选择学习Python还是C
