当前位置: 首页 > news >正文

微信网站平台怎么建立韩国网站

微信网站平台怎么建立,韩国网站,网站建设廉政风险点,网站搭建多少钱logo修改导 读 本文主要介绍基于OpenCVYOLOv5实现车辆跟踪与计数的应用,并给出源码。 资源下载 基础代码和视频下载地址: https://github.com/freedomwebtech/win11vehiclecount main.py代码:​​​​​​​ import cv2import torchimport numpy as npfrom tr…

导  读

    本文主要介绍基于OpenCV+YOLOv5实现车辆跟踪与计数的应用,并给出源码。

资源下载

    基础代码和视频下载地址:

https://github.com/freedomwebtech/win11vehiclecount

图片

main.py代码:​​​​​​​

import cv2import torchimport numpy as npfrom tracker import *model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)
cap=cv2.VideoCapture('highway.mp4')
count=0tracker = Tracker()def POINTS(event, x, y, flags, param):    if event == cv2.EVENT_MOUSEMOVE :          colorsBGR = [x, y]        print(colorsBGR)        
cv2.namedWindow('FRAME')cv2.setMouseCallback('FRAME', POINTS)
while True:    ret,frame=cap.read()    if not ret:        break    count += 1    if count % 3 != 0:        continue    frame=cv2.resize(frame,(1020,600))    results=model(frame)    results.pandas().xyxy[0]                       cv2.imshow("FRAME",frame)    if cv2.waitKey(0)&0xFF==27:        breakcap.release()cv2.destroyAllWindows()

tracker.py代码:​​​​​​​

import mathclass Tracker:    def __init__(self):        # Store the center positions of the objects        self.center_points = {}        # Keep the count of the IDs        # each time a new object id detected, the count will increase by one        self.id_count = 0    def update(self, objects_rect):        # Objects boxes and ids        objects_bbs_ids = []
        # Get center point of new object        for rect in objects_rect:            x, y, w, h = rect            cx = (x + x + w) // 2            cy = (y + y + h) // 2
            # Find out if that object was detected already            same_object_detected = False            for id, pt in self.center_points.items():                dist = math.hypot(cx - pt[0], cy - pt[1])
                if dist < 35:                    self.center_points[id] = (cx, cy)#                    print(self.center_points)                    objects_bbs_ids.append([x, y, w, h, id])                    same_object_detected = True                    break
            # New object is detected we assign the ID to that object            if same_object_detected is False:                self.center_points[self.id_count] = (cx, cy)                objects_bbs_ids.append([x, y, w, h, self.id_count])                self.id_count += 1
        # Clean the dictionary by center points to remove IDS not used anymore        new_center_points = {}        for obj_bb_id in objects_bbs_ids:            _, _, _, _, object_id = obj_bb_id            center = self.center_points[object_id]            new_center_points[object_id] = center
        # Update dictionary with IDs not used removed        self.center_points = new_center_points.copy()        return objects_bbs_ids

    下载测试视频highway.mp4(download.txt中有链接):

图片

    安装ultralytics:

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

图片

      

实现车辆检测

    添加代码查看YoloV5模型检测输出信息:

图片

图片

    添加车辆检测结果绘制:

图片

图片

      

实现车辆跟踪

    将车辆矩形坐标保存到list中:

图片

    添加对象跟踪:

图片

图片

    车辆跟踪效果:

图片

图片

      

实现车辆计数

【1】划定一个多边形区域(黄色),车辆经过此区域则计数;

cv2.polylines(frame,[np.array(areal,np.int32)],True,(0,255,255),3)

【2】绿色点标注车辆矩形框右下角坐标点,如下图:

cv2.circle(frame,(x3,y3),4,(0,255,0),-1)

图片

【3】计数原理:判断绿色点是否在黄色四边形内,如果在内计数+1

图片

图片

计算点到多边形的距离使用的是OpenCV中pointPolygonTest函数:

图片

当result > 0表示点在轮廓内,也就是车辆在多边形内。此时将车辆id编号添加到集合area_1中,然后通过len(area_1)作为车辆计数值。

注意:这里为什么不直接用count += 1来计算数量?如果用count += 1会造成很多重复计数,而代码中利用了python集合的特性,add函数添加元素时,如果元素已经存在,则不重复添加,有效的避免了重复计数问题。

最终效果如下:

图片

http://www.wooajung.com/news/22403.html

相关文章:

  • 欧美真做的大尺寸电影网站手机百度网盘下载慢怎么解决
  • 把自己做的网页发布到网站宁波seo推广
  • 两学一做党员答题网站太原seo快速排名怎么样
  • 做片子 我们是认真的网站企业文化是什么
  • 福田网站建设福田网站设计营销网站建设创意
  • o2o平台名称有哪些项链seo关键词
  • 织梦网站后台管理系统南宁做网站公司
  • 网站建设公司的成本有哪些方面怎样策划一个营销型网站
  • 计算机多媒体辅助教学网站开发网站分析报告
  • 怎么做网站页面代码搜索墨猴seo排名公司
  • 网站路径优化怎么做龙岗百度快速排名
  • 怀化灵知网站建设石家庄百度推广优化排名
  • 山东省建设厅执业注册中心网站网站seo哪家做的好
  • 网站换程序301嘉兴seo网络推广
  • 微信怎么做淘客网站长尾关键词是什么
  • php网站建设设计报告seo翻译
  • 论坛网站免费建设模板推广工作的流程及内容
  • wordpress公众号插件搜索引擎优化
  • 微信网页制作网站建设开网店如何运营和推广
  • 晋城网站建设新品牌推广策略
  • 网站建设计划书模板余姚网站如何进行优化
  • 360哈尔滨项目搜索引擎优化的概念
  • 河北高端网站建设网络策划
  • 专业集团门户网站建设费用seo自然优化排名
  • 揭阳网站制作托管三只松鼠网络营销策略
  • 科室网站建设网优工程师前景和待遇
  • centos7.2做网站网络工程师是干什么的
  • 网站制作的语言seo综合查询怎么用
  • 网站开发与设计公司去了外包简历就毁了吗
  • 有什么网站可以发布个人信息品牌网站建设制作