python车流量检测车流统计车辆计数yolov5 deepsort车流检测
python车流量检测车流统计车辆计数yolov5 deepsort车流检测
基于之前的yolo+deepsort上,将person类别改为车辆类别,因为coco数据集中,车辆类别有几种【car,bus,truck】,所以都要保存下来。
首先来看一下yolov5+deepsort的车辆跟踪初始效果,看着密密麻麻的框和id,思考一下该如何去设计这些规则进行统计。
labelsPath = "./yolo-coco/coco.names"
LABELS = open(labelsPath).read().strip().split("\n")np.random.seed(42)
COLORS = np.random.randint(0, 255, size=(200, 3),dtype="uint8")weightsPath = "./yolo-coco/yolov5.weights"
configPath = "./yolo-coco/yolov5.cfg"net = cv2.dnn.readNetFromDarknet(configPath, weightsPath)
ln = net.getLayerNames()
ln = [ln[i - 1] for i in net.getUnconnectedOutLayers()]# ----------------------------------------------------------------------------------------------------------------------
"""
# cv2.VideoCapture() --- 里面参数如果地址,打开视频文件 --- 里面参数是0/1,打开摄像头
# 当参数是0的时候,打开计算机的内置摄像头,当参数为1的时候打开计算机的外置摄像头
# (W, H) = (None, None) --- 视频的宽度和高度,初始化视频编写器(writer)和帧尺寸"""
# ----------------------------------------------------------------------------------------------------------------------vs = cv2.VideoCapture('./input/123.mp4')
(W, H) = (None, None)# ----------------------------------------------------------------------------------------------------------------------
"""
# try to determine the total number of frames in the video file
# 打开一个指向视频文件的文件指针,循环读取帧 --- 尝试确定视频文件中的总帧数(total),以便估计整个视频的处理时间;
# CV_CAP_PROP_FRAME_COUNT --- 视频的帧数
# 这里使用是处理视频的时候固定的过程,不必过度的纠结其使用 ---
# if imutils.is_cv2():
# prop = cv2.cv.CV_CAP_PROP_FRAME_COUNT
# else:
# prop = cv2.CAP_PROP_FRAME_COUNT
#
# vs.get(prop) --- cv2.VideoCapture.get(prop) --- 得到视频的总帧数
# print("[INFO] {} total frames in video".format(total)) --- 输出视频的帧数"""
# ----------------------------------------------------------------------------------------------------------------------
try:prop = cv2.cv.CV_CAP_PROP_FRAME_COUNT if imutils.is_cv2() \else cv2.CAP_PROP_FRAME_COUNTtotal = int(vs.get(prop))print("[INFO] {} total frames in video".format(total))except:print("[INFO] could not determine # of frames in video")print("[INFO] no approx. completion time can be provided")total = -1while True:# ----------------------------------------------------------------------------------------------------------------------"""# cv2.VideoCapture.read() ---> 读取视频,在while中循环读取视频的frame# vs.read() ---> 得到两个参数,其中ret是布尔值,如果读取帧是正确的则返回True,# 如果文件读取到结尾,它的返回值就为False。frame就是每一帧的图像,是个三维矩阵。# 第一个参数为False的时候,if not grabbed --- True --- 循环结束,"""(grabbed, frame) = vs.read()if not grabbed:breakif W is None or H is None:(H, W) = frame.shape[:2]
python车流量检测双向车流计数
python车流量检测车流统计车辆计数yolov5deepsort车流检测-机器学习文档类资源-CSDN下载
0 代码基础视频跑通教程:
https://download.csdn.net/download/babyai996/85100267
python车流量检测车流统计车辆计数yolov5 deepsort车流检测相关推荐
- YOLOv5+Deepsort行人检测跟踪计数之门店客流量统计
文章目录 前言 总结 前言 基于deepsort算法实现的客流量统计,人形计数等,需要的请私信留言 总结 提示: 源码下载链接 视频演示效果
- 智能驾驶 车牌检测和识别(二)《YOLOv5实现车牌检测(含车牌检测数据集和训练代码)》
智能驾驶 车牌检测和识别(二)<YOLOv5实现车牌检测(含车牌检测数据集和训练代码)> 目录 智能驾驶 车牌检测和识别(二)<YOLOv5实现车牌检测(含车牌检测数据集和训练代码) ...
- 行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码)
行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码) 目录 行人检测(人体检测)2:YOLOv5实现人体检测(含人体检测数据集和训练代码) 1. 前言 2. 人体检测数据集说 ...
- 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码)
深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 目录 深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码) 1. 前言 2. 红绿灯检测数据集说明 (1) ...
- yolov5+车道线检测
目标检测与车道线检测在自动驾驶以及车辆定位中起着重要的辅助作用,是环境感知中不可缺少的一个部分.基于深度学习的车道线检测方法近年来也在不断的提升,比如论文:Ultra Fast Deep Lane D ...
- 行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测)
行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测) 目录 行人检测(人体检测)3:Android实现人体检测(含源码,可实时人体检测) 1. 前言 2. 人体检测数据集说明 ...
- 跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测)
跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测) 目录 跌倒检测和识别3:Android实现跌倒检测(含源码,可实时跌倒检测) 1. 前言 2. 跌倒检测数据集说明 3. 基于Y ...
- 【小白CV教程】YOLOv5+Deepsort实现车辆行人的检测、追踪和计数
[小白CV教程]YOLOv5+Deepsort实现车辆行人的检测.追踪和计数 本文禁止转载! 项目简介: YOLOv5检测器: DeepSort追踪器: 运行demo: 训练自己的模型: 调用接口: ...
- Python OpenCV高速公路道路汽车车辆摄像头视频侦测检测识别统计数量
Python OpenCV高速公路道路汽车车辆侦测检测识别统计数量 如需安装运行环境或远程调试,可加QQ905733049由专业技术人员远程协助! 运行结果如下: 运行主要代码如下: import c ...
- 基于深度学习的花卉检测与识别系统(YOLOv5清新界面版,Python代码)
摘要:基于深度学习的花卉检测与识别系统用于常见花卉识别计数,智能检测花卉种类并记录和保存结果,对各种花卉检测结果可视化,更加方便准确辨认花卉.本文详细介绍花卉检测与识别系统,在介绍算法原理的同时,给出 ...
最新文章
- 使用BigQuery ML预测天气(6.19)
- Python开发编码规范(转)
- zend studio调试
- 'utf-8' codec can't decode byte 0xb6 in position 34: invalid start byte
- 白话Elasticsearch47-深入聚合数据分析之Cardinality Aggs-cardinality算法之优化内存开销以及HLL算法
- C++变量、函数在内存中的情况
- 各层作用_土工布有什么作用呢?
- myeclipse启动错误:org.eclipse.swt.SWTError: No more handles
- 《复杂》读书笔记(part6)--计算机中的自我复制
- springmvc跨域问题
- Find the most comfortable road(HDU-1598)
- php redis命令大全,redis命令大全参考手册
- 敏捷开发系列学习总结(5)——这几招搞定团队协同Coding
- 阿里面试官常问的TCP和UDP,你真的弄懂了吗?
- ActiveMQ 反序列化漏洞 (CVE-2015-5254)
- 零基础学习SpringBoot
- UBUNTU 22.04 使用 SUNSHINE 和 MOONLIGHT 进行串流
- 微信怎么识别图片文字
- C++ delete陷阱
- 三年我从初级测试工程师到高级测试工程师的前进之路。