资源简介
基于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+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
- 量化交易(附python常见函数的使用方
- python 名字用字排行
评论
共有 条评论