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)
上一篇 2022年6月6日 下午4:36
下一篇 2022年6月6日 下午4:36


相关推荐

  • calloc、malloc、realloc函数的区别及用法

    calloc、malloc、realloc函数的区别及用法calloc malloc realloc 函数的区别及用法 三者都是分配内存 都是 stdlib h 库里的函数 但是也存在一些差异 1 malloc 函数 其原型 void malloc unsignedintn bytes num byte 为要申请的空间大小 需要我们手动的去计算 如 int p int malloc

    2026年3月20日
    2
  • linux复制文件夹及赋予权限

    1.cp命令命令:cpdir1/a.docdir2表示将dir1下的a.doc文件复制到dir2目录下cp-rdir1dir2表示将dir1及其dir1下所包含的文件复制到dir2下cp-rdir1/.dir2表示将dir1下的文件复制到dir2,不包括dir1目录说明:cp参数-i:询问,如果目标文件已经存在,则会询问是否覆盖;2.scp命令例如:scpid_rsa.pubrouter_17@IP:/home/router_17/.ssh/authori…

    2022年4月7日
    251
  • 联想服务器ts系列介绍,联想服务器ThinkServerTS230.ppt「建议收藏」

    联想服务器ts系列介绍,联想服务器ThinkServerTS230.ppt「建议收藏」联想服务器ThinkServerTS230联想在2012年底推出的专为中小型网络应用环境设计的单路塔式服务器——ThinkServerTS230。作为联想ThinkServer服务器家族的入门级产品,ThinkServerTS230在具备极高性价比的同时,亦完美传承了可靠品质、创新引领、全程关怀三大Think基因,具备…

    2022年5月18日
    56
  • 设计模式六大原则(1):单一职责原则

    设计模式六大原则(1):单一职责原则定义 不要存在多于一个导致类变更的原因 通俗的说 即一个类只负责一项职责 问题由来 类 T 负责两个不同的职责 职责 P1 职责 P2 当由于职责 P1 需求发生改变而需要修改类 T 时 有可能会导致原本运行正常的职责 P2 功能发生故障 解决方案 遵循单一职责原则 分别建立两个类 T1 T2 使 T1 完成职责 P1 功能 T2 完成职责 P2 功能 这样 当修改类 T1 时 不会使职责 P2 发生故障风险 同理 当修改 T2 时 也

    2026年3月20日
    2
  • 2020最新pycharm汉化安装(亲测有效)

    2020最新pycharm汉化安装(亲测有效)这里我推荐大家使用pycharm百度输入关键词:pycharm,点击如图所示网站进入pycharm官网选择电脑系统版本,这里我们选择Windows系统,点击Community版本下的download#Professional为限时免费试用的专业版#Community为免费的社区版本我们使用社区版基本够用了,等技能熟练再去使用专业版的。双击下载好的PyCharm安装包,出现如下图所示的界面,点击“next”选择安装目录,Pycharm需要的内存较多,建议安装在D盘或者

    2022年5月16日
    59
  • java mencoder_mencoder java linux[通俗易懂]

    java mencoder_mencoder java linux[通俗易懂]在执行转化的时候只能转化1分钟的影片超过1分钟影片的都不能转化。可是直接输入命令行又能全部转化。高分求解try{Runtimert=Runtime.getRuntime();Processproc=rt.exec(“mencoder”+ol…在执行转化的时候只能转化1分钟的影片超过1分钟影片的都不能转化。可是直接输入命令行又能全部转化。高分求解try{Runtimert=Runtime….

    2025年6月11日
    5

发表回复

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

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