OpenCV杂谈_01
一. 需要做的前期准备
- 环境配置
Python版本: 3.7.6
用到的功能包: opencv-python (4.2.0.32) 、numpy (1.20.2) - 导入他人训练好的 OpenCV cascade 文件
haarcascade_frontalface_default.xml (也可以用其他.xml文件用于做不同的检测,比如全身、人眼等等)下载链接在此:https://github.com/opencv/opencv/tree/master/data/haarcascades - 一个用的顺手的IDE(本人推荐Pycharm)
import cv2# 打开电脑自带的摄像头,并进行一些配置
cap = cv2.VideoCapture(0)
cap.set(3, 640)
cap.set(4, 480)
cap.set(10, 50)# 读取 cascade 文件
faceCascade = cv2.CascadeClassifier("Resources/haarcascade_frontalface_default.xml")# 改成自己存放.xml文件的路径# 对视频中的每一帧进行人脸的捕捉和添加 bounding box 操作
while True:
ret, frame = cap.read()
frameGray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)# 转换为灰度图像
detectionResult = faceCascade.detectMultiScale(frameGray, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32))
if len(detectionResult) > 0:
for detection in detectionResult:
x, y, w, h = detection
cv2.rectangle(frame, (x - 10, y - 10), (x + w + 10, y + h + 10),
(255, 0, 0), 2)# 加 bounding box
cv2.putText(frame, "human faces", (x, y + h), cv2.FONT_HERSHEY_PLAIN, 2,
(0, 0, 0), 2)# 给 bounding box 加注解
cv2.imshow("frame", frame)
if cv2.waitKey(1) & 0xFF == ord("q"):# 按“q”键退出程序
break
三. 结果展示 【opencv|OpenCV-Python实现实时人脸检测(附源码)】
四. 感悟与分享
- 所谓的视频不过就是图像的连续放映。
- 个人觉得OpenCV不错的教程:https://www.bilibili.com/video/BV16K411W7x9?t=6282
推荐阅读
- Python|用几行Python代码模拟评委打分
- opencv|android应用案例开发大全第3版配套源码光盘_23行代码实现(Python实时人脸检测程序设计(附源码)...)
- 桌面|Python实现进程管理小工具 Process Manager
- python实验13 Python监测服务器
- Python|毕业设计-基于Python爬虫的疫情数据可视化系统
- 笔记|python Matplotlib 绘制多个子图
- 笔记|python 函数的概述与基本用法总结
- 笔记|基于python爬取数据以及可视化
- 笔记|python Bug的常见类型 总结