[Python Study Notes]行人检测
# --------------------------------------------------------------
# @文件: 行人识别.py
# @工程: blog
# @时间: 2018/3/16 21:12
# @作者: liu yang
# @博客: liuyang1.club
# @邮箱: liuyang0001@outlook.com
# -------------------------------------------------------------
# 编码格式
# -*- coding: utf-8 -*-
# Python版本
# #!/usr/bin/python3 import cv2 def draw_detection(img, rects):
for x, y, w, h in rects:
pad_w, pad_h = int(0.05 * w), int(0.05 * h)
cv2.rectangle(img, (x + pad_w, y + pad_h), (x + w - pad_w, y + h - pad_h), (0, 255, 0), 2) def draw_alart(img, rects):
area = [0, 2]
size = img.shape
area_img = size[0] * size[1]
for x, y, w, h in rects:
area.append(w * h)
thresh = 0.25
if max(area) / area_img > thresh:
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, "Incoming Peaple", (round(size[0] / 2) - 80, round(size[1] / 2) - 50),
font, 6, (0, 0, 255), 25) # 传入opencv里默认的参数
hog = cv2.HOGDescriptor()
# 得到行人的特征值
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
# 调用摄像头,也可以传入一个路径视频文件
cap = cv2.VideoCapture(0)
while True:
# ret是一个表
# 循环读取每一帧的数据
ret, frame = cap.read()
# 扫描图像,如果检测不到进行缩小检测
found, w = hog.detectMultiScale(frame, 0, winStride=(8, 8), padding=(8, 8), scale=1.05)
draw_detection(frame, found)
draw_alart(frame, found)
# 显示每一帧的画面
cv2.imshow("pd", frame)
# 按q退出
key = cv2.waitKey(1) & 0xff
if key == ord('q'):
break # 运行结束后释放摄像头
cap.release()
cv2.destroyAllWindows()
[Python Study Notes]行人检测的更多相关文章
- [Python Study Notes]异常处理
正则表达式 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理 断言(Assertions) python标准异常 ...
- [Python Study Notes] Python的安装
Windows: 1.下载安装包: 转到Python官网https://www.python.org/downloads/ ,下载最新版本的Python. 2.安装 安装到自定义的安装路径下. 3. ...
- [Python Study Notes]物体运动检测
基于opencv的cv2模块实现 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]匿名函数
Python 使用 lambda 来创建匿名函数. lambda这个名称来自于LISP,而LISP则是从lambda calculus(一种符号逻辑形式)取这个名称的.在Python中,lambda作 ...
- [Python Study Notes]字符串处理技巧(持续更新)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]with的使用
在 Python 2.5 中, with 关键字被加入.它将常用的 try ... except ... finally ... 模式很方便的被复用.看一个最经典的例子: with open('fil ...
- [Python Study Notes]实现对键盘控制与监控
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]实现对鼠标控制
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- [Python Study Notes]批量将wold转换为pdf
本文代码,由原ppt2pdf.py进行改写 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
随机推荐
- VS2010 + QT 5 +open inventor 环境配置
本科毕业设计做的是 随钻测量的井眼轨迹和测井曲线的三维显示 要求的环境是 QT + Open Inventor 在寒假开学前,打算将环境配置好,开学后再正式编码实现,可是....环境也 ...
- 图片文件和Bitmap之间的转换
图片文件转为Bitmap对象String filePath="c:/01.jpg"; Bitmap bitmap=BitmapFactory.decodeFile(filePat ...
- SDK中常用的工具
Android SDK包含了各种各样的定制工具,简介如下: 一.Android模拟器(Android Emulator )它是在你的计算机上运行的一个虚拟移动设备.你可以使用模拟器来在一个实际的And ...
- spring学习-3
spring的自动装配 spring IOC容器可以自动装配bean,只需要在bean的autowire属性指定自动装配的模式. 模式: 1.byType:根据类型自动装配.根据bean的类型和当前b ...
- uva10780(分解质因数)
可以直接用高精度来暴力求. 也可以不用高精度: 把m分解质因数,记录每个因数和它的次数.然后计算每个因数在n的阶乘里出现了多少次,再把这个次数除以它在m中的次数,就是可能的k值.取最小的k. #inc ...
- MySQL多种安装方式选择
1.rpm包安装方式 rpm包的安装方式非常简单,这里以el6平台下的mysql-5.6.34版本为例,首先,要通过上述搜狐镜像地址下载到如下四个MySQL相关软件安装包. a.下载安装包 MySQL ...
- OpenCV - opencv3 图像处理 之 图像缩放( python与c++实现 )
转自:https://www.cnblogs.com/dyufei/p/8205121.html 一. 主要函数介绍 1) 图像大小变换 cvResize () 原型: voidcvResize(co ...
- net Core 2.1新功能Generic Host(通用主机)
net Core 2.1新功能Generic Host(通用主机) http://doc.okbase.net/CoderAyu/archive/301859.html 什么是Generic Host ...
- Spring MVC配置文件的三个常用配置详解
转自:http://www.cnblogs.com/benwu/articles/5162614.html Spring MVC项目中通常会有二个配置文件,sprng-servlet.xml和appl ...
- ACM学习历程—SNNUOJ1213 加油站问题(动态规划 || 数学)
题目链接:http://219.244.176.199/JudgeOnline/problem.php?id=1213 这是这次微软实习面试的一道题,当时只相出了一个2n的做法,面试官让我优化成n的做 ...