- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python学习笔记之视频人脸检测识别实例教程由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
前言 。
上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统、人脸动态跟踪识别系统等等.
下面话不多说了,来一起看看详细的介绍吧 。
案例 。
这里我们还是使用 opencv 中自带了 haar人脸特征分类器,通过读取一段视频来识别其中的人脸.
代码实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# -*- coding: utf-8 -*-
__author__
=
"小柒"
__blog__
=
"https://blog.52itstyle.vip/"
import
cv2
import
os
# 保存好的视频检测人脸并截图
def
catchpicfromvideo(window_name, camera_idx, catch_pic_num, path_name):
cv2.namedwindow(window_name)
# 视频来源
cap
=
cv2.videocapture(camera_idx)
# 告诉opencv使用人脸识别分类器
classfier
=
cv2.cascadeclassifier(os.getcwd()
+
"\\haarcascade\\haarcascade_frontalface_alt.xml"
)
# 识别出人脸后要画的边框的颜色,rgb格式, color是一个不可增删的数组
color
=
(
0
,
255
,
0
)
num
=
0
while
cap.isopened():
ok, frame
=
cap.read()
# 读取一帧数据
if
not
ok:
break
grey
=
cv2.cvtcolor(frame, cv2.color_bgr2gray)
# 将当前桢图像转换成灰度图像
# 人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数
facerects
=
classfier.detectmultiscale(grey, scalefactor
=
1.2
, minneighbors
=
3
, minsize
=
(
32
,
32
))
if
len
(facerects) >
0
:
# 大于0则检测到人脸
for
facerect
in
facerects:
# 单独框出每一张人脸
x, y, w, h
=
facerect
# 将当前帧保存为图片
img_name
=
"%s/%d.jpg"
%
(path_name, num)
# print(img_name)
image
=
frame[y
-
10
: y
+
h
+
10
, x
-
10
: x
+
w
+
10
]
cv2.imwrite(img_name, image, [
int
(cv2.imwrite_png_compression),
9
])
num
+
=
1
if
num > (catch_pic_num):
# 如果超过指定最大保存数量退出循环
break
# 画出矩形框
cv2.rectangle(frame, (x
-
10
, y
-
10
), (x
+
w
+
10
, y
+
h
+
10
), color,
2
)
# 显示当前捕捉到了多少人脸图片了,这样站在那里被拍摄时心里有个数,不用两眼一抹黑傻等着
font
=
cv2.font_hershey_simplex
cv2.puttext(frame,
'num:%d/100'
%
(num), (x
+
30
, y
+
30
), font,
1
, (
255
,
0
,
255
),
4
)
# 超过指定最大保存数量结束程序
if
num > (catch_pic_num):
break
# 显示图像
cv2.imshow(window_name, frame)
c
=
cv2.waitkey(
10
)
if
c &
0xff
=
=
ord
(
'q'
):
break
# 释放摄像头并销毁所有窗口
cap.release()
cv2.destroyallwindows()
if
__name__
=
=
'__main__'
:
# 连续截100张图像
catchpicfromvideo(
"get face"
, os.getcwd()
+
"\\video\\kelake.mp4"
,
100
,
"e:\\videocapture"
)
|
动图有点花,讲究着看吧:
如果是捕捉摄像头,只需要改变以下代码即可:
1
2
|
# 如果获取摄像头,参数修改为 0 即可
cap
=
cv2.videocapture(
0
)
|
源码 。
https://gitee.com/52itstyle/python/tree/master/day09 。
总结 。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我的支持.
原文链接:https://blog.52itstyle.vip/archives/3794/ 。
最后此篇关于Python学习笔记之视频人脸检测识别实例教程的文章就讲到这里了,如果你想了解更多关于Python学习笔记之视频人脸检测识别实例教程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我对此很陌生,我在这里的论坛上检查过答案,但我没有找到任何真正可以帮助我的答案。我正在尝试播放 res/raw 文件夹中的视频。到目前为止我已经设置了这段代码: MediaPlayer mp; @Ov
我可以播放一个视频剪辑,检测视频的结尾,然后创建一个表单,然后播放另一个视频剪辑。我的问题是,表单 react 不正确,我创建了带有提交按钮和两个单选按钮可供选择的表单。我希望让用户进行选择,验证响应
首先,我必须说我在web2py讨论组中看到过类似的内容,但我不太理解。 我使用 web2py 设置了一个数据库驱动的网站,其中的条目只是 HTML 文本。其中大多数将包含 img和/或video指向相
我正在尝试在视频 View 中播放 YouTube 视频。 我将 xml 布局如下: 代码是这样的: setContentView(R.layout.webview); VideoV
我正在开发一个需要嵌入其中的 youtube 视频播放器的 android 应用程序。我成功地从 API 获得了 RTSP 视频 URL,但是当我试图在我的 android 视频 View 中加载这个
我目前正在从事一个使用 YouTube API 的网络项目。 我完全不熟悉 API。所以每一行代码都需要付出很多努力。 使用以下代码,我可以成功检索播放列表中的项目: https://www.goog
是否可以仅使用视频 ID 和 key 使用 API V3 删除 youtube 视频?我不断收到有关“必需参数:部分”丢失的错误消息。我用服务器和浏览器 api 键试了一下这是我的代码: // $yo
所以我一直坚持这个大约一个小时左右,我就是无法让它工作。到目前为止,我一直在尝试从字符串中提取整个链接,但现在我觉得只获取视频 ID 可能更容易。 RegEx 需要从以下链接样式中获取 ID/URL,
var app = angular.module('speakout', []).config( function($sceDelegateProvider) {
我正在努力从 RSS 提要中阅读音频、视频新闻。我如何确定该 rss 是用于新闻阅读器还是用于音频或视频? 这是视频源:http://feeds.cbsnews.com/CBSNewsVideo 这是
利用python反转图片/视频 准备:一张图片/一段视频 python库:pillow,moviepy 安装库 ?
我希望在用户双击视频区域时让我的视频全屏显示,而不仅仅是在他们单击控件中的小图标时。有没有办法添加事件或其他东西来控制用户点击视频时发生的情况? 谢谢! 最佳答案 按照 Musa 的建议,附
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 7年前关闭。 Improve this questi
我有一个公司培训视频加载到本地服务器上。我正在使用 HTML5 的视频播放来观看这些视频。该服务器无法访问网络,但我已加载 apache 并且端口 8080 对同一网络上的所有机器开放。 这些文件位于
我想混合来自 video.mp4 的视频(时长 1 分钟)和来自 audio.mp3 的音频(10 分钟持续时间)到一个持续时间为 1 分钟的输出文件中。来自 audio.mp3 的音频应该是从 4
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 8年前关闭。 Improve this questi
我正在尝试使用 peer/getUserMedia 创建一个视频 session 网络应用程序。 目前,当我将唯一 ID 发送到视频 session 时,我能够听到/看到任何加入我的 session
考虑到一段时间内的观看次数,我正在评估一种针对半自动脚本的不同方法,该脚本将对视频元数据执行操作。 简而言之,只要视频达到指标中的某个阈值,就说观看次数,它将触发某些操作。 现在要执行此操作,我将不得
我正在通过iBooks创建专门为iPad创建动态ePub电子书的网站。 它需要支持youtube视频播放,所以当我知道视频的直接路径时,我正在使用html5 标记。 有没有一种使用html5 标签嵌入
我对Android不熟悉,我想浏览youtube.com并在Webview内从网站显示视频。当前,当我尝试执行此操作时,将出现设备的浏览器,并让我使用设备浏览器浏览该站点。如果Webview不具备这种
我是一名优秀的程序员,十分优秀!