[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进行改写 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
随机推荐
- Codeforces 895C Square Subsets:状压dp【组合数结论】
题目链接:http://codeforces.com/problemset/problem/895/C 题意: 给你n个数a[i].(n <= 10^5, 1 <= a[i] <= ...
- Git在mac中和远程仓库建立连接
1.下载git http://git-scm.com/download/ 2. 安装git 按照文字提示即可 3. 验证是否成功,输入命令行.输出git版本表示git安装成功. git --versi ...
- spring: 在表达式中使用类型
如果要在SpEL中访问类作用域的方法和常量的话,要依赖T()这个关键的运算符.例如,为了在SpEL中表达Java的Math类,需要按照如下的方式使用T()运算符: T{java.lang.Math} ...
- spring:自定义限定符注解@interface, 首选bean
spring:自定义限定符注解@interface, 首选bean 1.首选bean 在声明bean的时候,通过将其中一个可选的bean设置为首选(primary)bean能够避免自动装配时的歧义性. ...
- 隔行换色(WPF DataGrid 标准例子)
<DataGrid AlternationCount="2"> <DataGrid.RowStyle> ...
- propertychange 属性说明
propertychange(ie)和input事件 input是标准的浏览器事件,一般应用于input元素,当input的value发生变化就会发生,无论是键盘输入还是鼠标粘贴的改变都能及时监听到变 ...
- Dom节点操作常用方法
1.访问/获取节点 document.getElementById(id); //返回对拥有指定id的第一个对象进行访问 document.getElementsByName(name); //返回带 ...
- PHP版微信第三方实现一键登录及获取用户信息的方法
本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要“服务号”才可以哦,所以必须到官方申请. 一开始你需要进入微信 ...
- 本地安装phpcms步骤
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012145816/article/details/72183032 http://download ...
- Debian For ARM Webmin Server
/******************************************************************************** * Debian For ARM W ...