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视频识别检测人数跟踪统计

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux下安装svn客户端_服务器安装步骤

    linux下安装svn客户端_服务器安装步骤1、简介Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说.首先来下载和搭建SVN服务器。yuminstallsubversion2、配置2.1、创建仓库我们这里在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹。#cd/home#mkdirsvn#svnadmincreate/home/svn#lssvnconfdb.

  • 二阶有源滤波器设计

    二阶有源滤波器设计1引入为什么要用有源二阶滤波器?(1)从有源来说对于无源二阶低通滤波器:其幅頻方程为:我们从中可以看出其通带截止频率为有其品质因子为0.372。我们根据上图得到二阶无源低通滤波器的品质因子只有0.372,如果希望Q大于0.5,就需要在ω=ωo附近增大幅度响应。实现这个目的的一种方法就是增加一个可控的正反馈控制量,这种反馈仅仅在ω=ωo附近奏效,参见下…

  • android常用布局详解「建议收藏」

    android常用布局详解「建议收藏」view和布局在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。Android中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。View的布局显示方式直接影响用户界面,View的布局方式是指一组View元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。ViewGr…

  • Java之反射机制详解「建议收藏」

    Java之反射机制详解「建议收藏」反射机制反射机制在java.lang.reflect.*包下反射机制相关的重要的类有java.lang.Class:代表字节码文件java.lang.reflect.Method:代表字节码中的方法字节码java.lang.reflect.Constructor:代表字节码中的构造方法字节码java.lang.reflect.Field:代表字节码中的属性字节码反射机制有什么用通过java语言中的反射机制可以操作字节码文件。有点类似于黑客(可以读和修改字节码文件。)通过反射机制可以操作代

  • 最小二乘法进行线性回归_最小二乘法简单例题

    最小二乘法进行线性回归_最小二乘法简单例题最小二乘法概述对于一元线性回归模型,假设从总体中获取了n组观察值(x1,y1)(x1,y1)(x_1,y_1),(x2,y2)(x2,y2)(x_2,y_2),…,(xn,yn)(xn,yn)(x_n,y_n)。对于平面中的这n个点,可以使用无数条曲线来拟合。要求样本回归函数尽可能好地拟合这组值。综合起来看,这条直线处于样本数据的中心位置最合理。选择最佳拟合曲线的标准可以确定为:使总的拟…

  • 邻接矩阵的使用

    邻接矩阵的使用一、介绍二、代码

发表回复

您的电子邮箱地址不会被公开。

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