• 大小: 4KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Python
  • 标签: 目标跟踪  

资源简介

使用前环境及库配置 我运行的环境为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  
    # 当前帧和第一帧的不同它可以把两幅图的差

评论

共有 条评论

相关资源