资源简介
安全帽检测的检测,使用python实现,仅供参考。
代码片段和文件信息
# -*- coding: utf-8 -*-
import threadpool
import threading
import time
import random
import Queue
import numpy as np
import cv2
import sys
import osshutil
import time
import datetime
from imutils.object_detection import non_max_suppression
from imutils import paths
import imutils #安装库pip install imutils ;pip install --upgrade imutils更新版本大于v0.3.1
import threading
#import get_video_address
import copy
import hashlib
from imutils.video import FileVideoStream
from imutils.video import VideoStream
class bug_rect_info:
def __init__(selfxywh):
self.x = x
self.y = y
self.w = w
self.h = h
self.count = 1
class people_detect:
def __init__(self):
#已经训练好的分类器,检测佩戴安全头的人员
self.face_cascade = cv2.CascadeClassifier(os.path.join(sys.path[0] ‘cascade-v2.5.xml‘))
#检测行人
self.hog = cv2.HOGDescriptor() #初始化方向梯度直方图描述子
self.hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) #设置支持向量机(Support Vector Machine)使得它成为一个预先训练好了的行人检测器
self.font = cv2.FONT_HERSHEY_SIMPLEX
self.IsExit = False
self.dir_temp = os.path.join(sys.path[0] “temp“)
self.dir_people = os.path.join(sys.path[0] “people“)
self.dir_hat = os.path.join(sys.path[0] “hat“)
self.dir_empty = os.path.join(sys.path[0] “empty“)
self.dir_head = os.path.join(sys.path[0] “head“)
self.bug_list = []
#创建临时目录
if not os.path.exists(self.dir_temp): os.makedirs(self.dir_temp)
if not os.path.exists(self.dir_people): os.makedirs(self.dir_people)
if not os.path.exists(self.dir_hat): os.makedirs(self.dir_hat)
if not os.path.exists(self.dir_temp): os.makedirs(self.dir_temp)
if not os.path.exists(self.dir_empty): os.makedirs(self.dir_empty)
if not os.path.exists(self.dir_head): os.makedirs(self.dir_head)
#获取视频流的地址
def getframes(self):
#工地摄像头
#capture = cv2.VideoCapture(get_video_address.get_video_url())
#本地摄像头
#capture = cv2.VideoCapture(0)
#本地文件
capture = FileVideoStream(os.path.join(sys.path[0]‘test01.ts‘)).start()
#print(capture.isOpened())
return capture
#获取行人
def get_people(selfframesmall_frame):
#检测行人
(rects weights) = self.hog.detectMultiScale(small_frame winStride=(8 8) padding=(8 8) scale=1.15)
rects = np.array([[x y x + w y + h] for (x y w h) in rects])
index = 0
offset_x = float(frame.shape[0]) / float(small_frame.shape[0])
offset_y = float(frame.shape[1]) / float(small_frame.shape[1])
print offset_xoffset_y
head = datetime.datetime.now().strftime(‘%Y_%m_%d_%H_%M_%S‘)
for (xywh) in rects:
if weights[index] <= 0.68: continue
#检测安全帽
face = self.get_safe_hat(small_frame[y:hx
相关资源
- pandas-0.9.0.win32-py2.7.exe
- python语言程序设计. 梁勇. 李娜译-习题
- python+OpenCV实现全景图像拼接和图像黑
- pythoncookbook
- PYTHON自然语言处理中文版.pdf
- Python做文本情感分析之情感极性分析
- 恐龙酷跑素材、音频和源码,请自行
- imageio-2.5.0-py3-none-any.whl
- wxpython中文文档
- python easyGui中文学习文档
- python pygame实现的简单的网游服务器端
- 笨办法学Python(第四版)
- Python Cookbook(第3版)高清中文完整版
- Twisted-19.10.0-cp38-cp38-win_amd64.whl
- Python在经济计量统计和数据分析上的
- 卷积神经网络的Python实现【试读】1
- 10行Python代码实现目标检测
- Python基础教程(第3版).rar
- deep_learning_with_python.pdf(Jason Brownlee)
- Flask Web开发:基于Python的Web应用开发
- Python测试驱动开发 使用Django、Seleni
- Python实验指导书2018版
- [Python程序设计基础][李东方][电子教案
- IronPython In Action
- Apache 2.4.37_Win32
- Python数据挖掘入门与实践-中文高清晰
- 利用 Python 进行数据分析 原书第二版
- IronPython-2.7 for VS2010
- numpy-1.8.1-win32-superpack-python2.7
- python machine learning(2nd
评论
共有 条评论