OpenCV视频识别检测人数跟踪统计

OpenCV视频识别检测人数跟踪统计Python+OpenCV视频识别检测人数跟踪统计如需远程调试,可加QQ905733049由专业技术人员远程协助!运行代码如下:importnumpyasnpimportcv2importtimeimportdatetimecap=cv2.VideoCapture(“vtest.avi”)#参数为0是打开摄像头,文件名是打开视频fgbg=cv2.createBackgroundSubtractorMOG()#混合高斯背景建模算法whileTrue:

大家好,又见面了,我是你们的朋友全栈君。

Python+OpenCV视频识别检测人数跟踪统计

如需远程调试,可加QQ905733049由专业技术人员远程协助!

OpenCV视频识别检测人数跟踪统计
运行代码如下:

import numpy as np
import cv2
import time
import datetime

cap = cv2.VideoCapture("vtest.avi") 

fgbg = cv2.createBackgroundSubtractorMOG()

while True:
    ret, frame = cap.read()  
    fgmask = fgbg.apply(frame)


    fgmask,contours, hierarchy = cv2.findContours(cv2.EXTERNAL, cv2.CHAIN_SIMPLE) 

    count=0
    for cont in contours:
        Area = cv2.contourArea()  
        if Area < 300:  
            continue


        print("{}-prospect:{}".format(count),end="  ") 

        rect = cv2.boundingRect(cont) 

        print("x:{} y:{}".format(rect[0],rect[1]))



        y = 10 if rect[1] < 10 else rect[1]  
        

    
    print("----------------------------")


    cv2.namedWindow("frame", 0);
    cv2.resizeWindow("frame", 480, 420);
    cv2.imshow('frame', frame)

    cv2.namedWindow("frame2", 0);
    cv2.resizeWindow("frame2", 480, 420);
    cv2.imshow('frame2', fgmask)  

    k = cv2.waitKey(30)&0xff  
    if k == 27:
        break


"""
    maxArea = 0
    for c in contours:
        Area = cv2.contourArea(c) 
        if Area < maxArea:
            #if cv2.contourArea(c) < 500:
            (x, y, w, h) = (0, 0, 0, 0)
            continue
        else:
            if Area < 1000:
                (x, y, w, h) = (0, 0, 0, 0)
                continue
            else:
                maxArea = Area
                m = c
                (x, y, w, h) = cv2.boundingRect(m)
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
        #out.write(frame)
"""

实现效果如图:

OpenCV视频识别检测人数跟踪统计

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134564.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用Python进行web开发需要学习什么?「建议收藏」

    第一步:HTMLHTML是网页的核心,学好HTML是成为Web开发人员的基本条件。HTML很容易学习的,但也很容易误用,要学精还得费点功夫。  随着HTML5的发展和普及,了解HTML5也将成为Web开发人员的必修课。  涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。  利用HTML和CSS模拟一些你所见过的网站的排版和布局(色彩,图片,文字样式等等)。第二步:学习javascript,了解DOMJavaScript是一种能让你的网页更加生动活泼的程序语言。学习JavaScr

    2022年4月11日
    40
  • 磁盘初始化的过程

    磁盘初始化的过程1.低级初始化(物理初始化)1.1将磁盘分成扇区以便读写操作。1.2为每个扇区采用特别的数据结构2.磁盘分区将磁盘分为由一个或多个柱面组成的分区(C盘D盘)3.逻辑格式化3.1创建文件系统(根目录等)3.2将初始文件系统的数据结构存储到磁盘上(空闲、已分配的空间及一个空目录)…

    2022年9月21日
    4
  • 2021韩顺平图解linux_狗剩学习笔记

    2021韩顺平图解linux_狗剩学习笔记韩顺平图解Linux全面升级https://www.bilibili.com/video/BV1Sv411r7vdP001_韩顺平图解Linux全面升级_课程内容20:37P002_韩顺平图解Linux全面升级_应用领域05:05P003_韩顺平图解Linux全面升级_概述16:37P004_韩顺平图解Linux全面升级_Linux与Unix18:09P005_韩顺平图解Linux全面升级_vmware15.5安装17:36P006_韩顺平图解

    2022年5月18日
    42
  • vue中mousewheel滚动

    vue中mousewheel滚动效果点击上下可以中间滚动 鼠标在框内滚动也会滚动 外部 jsconstmouse wheel opt console log opt if opt target console log 什么都没有 还让我帮忙 return

    2026年1月22日
    1
  • 协方差的意义

    协方差的意义

    2021年12月8日
    49
  • DWD层总结

    DWD层总结DWD层:4步建模作用:1)对用户行为数据进行解析2)对核心数据进行判空过滤3)对业务数据采用维度模型重新建模。一、DWD层数据分析首先DWD层数据都来源于ODS层。具体数据可分为两类1)用户行为数据(多为json)2)业务数据1、用户行为数据业务行为数据一般都是来源于前端页面的埋点日志信息分为启动日志和普通日志启动日志表中每行数据对应一个启动记录,一个启动记录应该包含日志中的公共信息和启动信息。先将所有包含start字段的日志过滤出来,然后使用get_json_object

    2022年6月26日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号