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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HDU 2955 Robberies

    HDU 2955 Robberies

    2022年1月7日
    36
  • Java安全之JBoss反序列化漏洞分析

    Java安全之JBoss反序列化漏洞分析0x00前言看到网上的Jboss分析文章较少,从而激发起了兴趣。前段时间一直沉迷于工具开发这块,所以打算将jboss系列反序列化漏洞进行分析并打造成GUI

    2021年12月13日
    39
  • cubieboard笔记[通俗易懂]

    cubieboard笔记[通俗易懂]http://guoyong.me/http://gutspot.com/2013/01/30/%E7%94%A8raspberry-pi%E5%88%B6%E4%BD%9C%E6%97%A0%E7%BA%BF%E8%B7%AF%E7%94%B1%E8%BF%87%E7%A8%8B%E7%9A%84%E6%9C%AD%E8%AE%B02-%E7%BC%96%E8%AF%918188eu%E8%…

    2022年7月22日
    14
  • nginx跨域访问配置_cors跨域访问不了

    nginx跨域访问配置_cors跨域访问不了跨域概念简单来说:两个url只要协议、域名、端口有任何一个不同,都被当作是不同的域,相互访问就会有跨域问题。案例例如:在开发前后端完全分离的系统中,服务端代码属于一个工程,前端代码属于另一个工程,前端开发人员在进行接口对接时,可能会在webstorm等工具进行编码,并用webstorm的内置服务器进行调试,这就会有跨域问题,因为,webstorm内置服务器默认前缀部分是http://localhost:63342/,而服务端接口的路径前缀部分一定不会是这样,这样便产生了跨域访问的问题。案例代码

    2022年10月1日
    0
  • css如何选择相同class下的第一个class元素和最后一个元素?

    css如何选择相同class下的第一个class元素和最后一个元素?

    2021年11月3日
    258
  • Java 读取文本文件

    Java 读取文本文件FilePathFileReader和FileWriterInputStreamReader和OutputStreamWriterFileInputStream和FileOutputStreamBufferedReaderFileFile代表目录或者文件File类的实例是不可变的;也就是说,一旦创建,由File对象表示的抽象路径名将永远不会改变。下面…

    2022年6月21日
    26

发表回复

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

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