资源简介
基于Python和Opencv实现检测人脸,并将人脸保存下来,支持设置保存图片数目
代码片段和文件信息
# -*-coding:utf-8 -*-
__author__ = “ZJL“
import cv2
import time
import os
# 保存截图
save_path = ‘D:\\DeepLearning\\img\\‘
# 定义摄像头对象,其参数0表示第一个摄像头
camera = cv2.VideoCapture(0)
# 判断视频是否打开
if (camera.isOpened()):
print(‘Open‘)
else:
print(‘摄像头未打开‘)
# 测试用查看视频size
size = (int(camera.get(cv2.CAP_PROP_frame_WIDTH))
int(camera.get(cv2.CAP_PROP_frame_HEIGHT)))
print(‘size:‘+repr(size))
# 帧率
fps = 5
# 总是取前一帧做为背景(不用考虑环境影响)
pre_frame = None
while(1):
start = time.time()
# 读取视频流
ret frame = camera.read()
# 转灰度图
gray_lwpCV = cv2.cvtColor(frame cv2.COLOR_BGR2GRAY)
if not ret:
break
end = time.time()
# 显示图像
cv2.imshow(“capture“ frame)
# 运动检测部分
seconds = end - start
if seconds < 1.0 / fps:
time.sleep(1.0 / fps - seconds)
gray_lwpCV = cv2.resize(gray_lwpCV (500 500))
# 用高斯滤波进行模糊处理
gray_lwpCV = cv2.GaussianBlur(gray_lwpCV (21 21) 0)
# 如果没有背景图像就将当前帧当作背景图片
if pre_frame is None:
pre_frame = gray_lwpCV
else:
# absdiff把两幅图的差的绝对值输出到另一幅图上面来
img_delta = cv2.absdiff(pre_frame gray_lwpCV)
#threshold阈值函数(原图像应该是灰度图对像素值进行分类的阈值当像素值高于(有时是小于)阈值时应该被赋予的新的像素值阈值方法)
thresh = cv2.threshold(img_delta 25 255 cv2.THRESH_BINARY)[1]
# 膨胀图像
thresh = cv2.dilate(thresh None iterations=2)
# findContours检测物体轮廓(寻找轮廓的图像轮廓的检索模式轮廓的近似办法)
image contours hierarchy = cv2.findContours(thresh.copy() cv2.RETR_
相关资源
- Python WxPython开源扫雷游戏PyMine新版1
- pycrypto-2.6.1-cp36-cp36m-win_amd64.whl
- 用python实现一个百度百科的爬虫工具
- Python 的PIL库,包含freetype
- alpha_shape.zip
- python人脸追踪
- 鱼c小甲鱼零基础学python全套视频和课
- PyQwt-5.2.1-cp37-cp37m-win_amd64.whl
- 房价预测的BP神经网络实现_python代码
- Python3.x+Pyqt5实现主窗体与子窗体相互
- Python实现动物识别产生式系统
- py2exe for 2.764位
- testbrowse.py
- python实现的k-means算法
- 问卷星爬虫带验证码
- python LDA学习
- 随机森林的代码实现和相应的数据集
-
Python sc
ripts For ABAQUS: Learn By Example - 小甲鱼零基础入门学习Python视频教程
- 基于tensorflow的二分类的python实现注释
- 《PyTorch生成对抗网络编程》思维导图
- 基于Python实现LFM种子传播算法
- 密码学重合指数计算python实现
- python新手算法函数思想入门项目,包
- 已知空间坐标和对应的属性,利用p
- 小甲鱼pythons视频+课件+源代码(96天)
- 找出最长的句子最长的单词
- 如何封装一个带传参的python程序成可
- 疯狂的python学习笔记
- wxPython写的类似qq截图的小程序
评论
共有 条评论