资源简介
使用前环境及库配置
我运行的环境为Python3.6(Anaconda3)+OpenCV3,IDE:PyCharm
1.其中如果安装Anaconda3就可以少安装很多库
2.如果安装了Anaconda3,就只需要配置一个库imutils
3.imutils安装方法
pip install imutils
确保imutils版本大于v0.3.1
pip install –upgrade imutils可以更新版本
代码片段和文件信息
import cv2
import time
import datetime
import os
import easygui
def mkdir(path):
folder = os.path.exists(path)
if not folder: # 判断是否存在文件夹如果不存在则创建为文件夹
os.makedirs(path) # makedirs 创建文件时如果路径不存在会创建这个路径
print
(“--- new folder... ---“)
print
(“--- OK ---“)
else:
print
(“--- There is this folder! ---“)
file = “D:\\CCTVlook“#保存位置
mkdir(file)
print(“文件储存于D:\\CCTVlook“)
# 选取摄像头,0为笔记本内置的摄像头,12···为外接的摄像头
camera=cv2.VideoCapture(0)
title = easygui.msgbox(msg=“将于5s后开始记录摄像头移动情况!““\n““请离开保证背景稳定““\n“
title=“运动检测追踪拍照“ok_button=“开始执行“)
msg=easygui.msgbox(msg=“移动物体保存于D:\\CCTVlook“)
time.sleep(5)#延迟5s执行
background = None#初始化背景
def nothing(x):
pass
cv2.namedWindow(“fps“) #新建一个窗口
cv2.createTrackbar(‘level‘‘fps‘21255nothing) #新建阈值滑动条
shot_idx = 0
# initialize the HOG descriptor/person detector
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
while True:
text = “No Target“
flat=0
# 滑动条赋值
kerne = cv2.getTrackbarPos(‘level‘ ‘fps‘)
if kerne%2==0 :
kerne=kerne+1#解决滑动条赋值到高斯滤波器是偶数异常抛出
(grabbed frame) = camera.read()
# 对帧进行预处理,先转灰度图,再进行高斯滤波。
# 用高斯滤波对图像处理,避免亮度、震动等参数微小变化影响效果
gray = cv2.cvtColor(frame cv2.COLOR_BGR2GRAY)
gray = cv2.GaussianBlur(gray (kerne kerne) 0)
# 将第一帧设置为整个输入的背景
if background is None:
background = gray
continue
# 当前帧和第一帧的不同它可以把两幅图的差
- 上一篇:WordCloud
- 下一篇:基于用户协同过滤usercf的python代码实现
评论
共有 条评论