没有合适的资源?快使用搜索试试~ 我知道了~
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例.pdf
需积分: 0 0 下载量 61 浏览量
2023-04-17
14:27:02
上传
评论
收藏 118KB PDF 举报
温馨提示
试读
11页
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
资源推荐
资源详情
资源评论
Python3 利用 Dlib 实现摄像头实时人脸检
测和平铺显示示例
1.
引言
在某些场景下,我们不仅需要进行实时人脸检测追踪,还要进行再加
工;这里进行摄像头实时人脸检测,并对于实时检测的人脸进行初步
提取;
单个
/
多个人脸检测,并依次在摄像头窗口,实时平铺显示检测到的
人脸;
图
1
动态实时检测效果图
检测到的人脸矩形图像,会依次平铺显示在摄像头的左上方;
当多个人脸时候,也能够依次铺开显示;
左上角窗口的大小会根据捕获到的人脸大小实时变化;
图
2
单个
/
多个人脸情况下摄像头识别显示结果
2.
代码实现
主要分为三个部分:
摄像头调用,利用
OpenCv
里面的
cv2.VideoCapture();
人脸检测,这里利用开源的
Dlib
框架,
Dlib
中人脸检测具体可以参
考
Python 3
利用
Dlib 19.7
进行人脸检测;
图像填充,剪切部分可以参考
Python 3
利用
Dlib
实现人脸检测和
剪切;
2.1
摄像头调用
Python
中利用
OpenCv
调用摄像头的一个例子
how_to_use_camera.py:
# OpenCv
调用摄像头
#
默认调用笔记本摄像头
# Author: coneypo
# Blog: http://www.cnblogs.com/AdaminXie
# GitHub: http://github.com/coneypo/Dlib_face_cut
# Mail: coneypo@foxmail.com
import cv2
cap = cv2.VideoCapture(0)
# cap.set(propId, value)
#
设置视频参数
: propId -
设置的视频参数
, value -
设置的参数值
cap.set(3, 480)
# cap.isOpened()
返回
true/false,
检查摄像头初始化是否成功
print(cap.isOpened())
# cap.read()
"""
返回两个值
先返回一个布尔值
,
如果视频读取正确
,
则为
True,
如果错误
,
则为
False;
也可用来判断是否到视频末尾
;
再返回一个值
,
为每一帧的图像
,
该值是一个三维矩阵
;
通用接收方法为
:
ret,frame = cap.read();
ret:
布尔值
;
frame:
图像的三维矩阵
;
这样
ret
存储布尔值
, frame
存储图像
;
若使用一个变量来接收两个值
,
如
:
frame = cap.read()
则
frame
为一个元组
,
原来使用
frame
处需更改为
frame[1]
"""
while cap.isOpened():
ret_flag, img_camera = cap.read()
cv2.imshow("camera", img_camera)
#
每帧数据延时
1ms,
延时为
0,
读取的是静态帧
k = cv2.waitKey(1)
#
按下
's'
保存截图
if k == ord('s'):
cv2.imwrite("test.jpg", img_camera)
#
按下
'q'
退出
if k == ord('q'):
break
#
释放所有摄像头
cap.release()
#
删除建立的所有窗口
剩余10页未读,继续阅读
资源评论
程序猿小乙
- 粉丝: 63
- 资源: 1740
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功