首页 > 其他分享 >视觉处理(1):动态区域监控

视觉处理(1):动态区域监控

时间:2022-11-11 09:33:36浏览次数:30  
标签:kernel frame cap cv2 监控 close 视觉 动态 255

通过获取背景应用,到实现图片

# import cv2
import numpy as np
cap=cv2.VideoCapture(cv2.CAP_DSHOW)
#fgbg = cv2.createBackgroundSubtractorMOG2()
fgbg=cv2.createBackgroundSubtractorKNN()
colorlist=[(255,0,0),(0,255,255),(0,255,0),(0,0,255),(255,255,0),(255,0,255)]
kernel=cv2.getStructuringElement(cv2.MORPH_RECT,(3,3))
#ret=cap.set(3,480)
while cap.isOpened():
    ret,frame =cap.read()
    if ret:
        frame=cv2.cvtColor(frame,cv2.COLOR_BGR2BGRA)
        gray=cv2.GaussianBlur(frame,(3,3),5)
        mask=fgbg.apply(gray)
        erode=cv2.erode(mask,kernel)
        dilate=cv2.dilate(erode,kernel,iterations=3)
        close=cv2.morphologyEx(dilate,cv2.MORPH_CLOSE,kernel)
        cnts,h=cv2.findContours(close,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
        
        for (i,c) in enumerate(cnts):
            (x,y,w,h)=cv2.boundingRect(c)
            if w>60 or h>60:
                cv2.rectangle(frame,(x,y),(x+w,y+h),colorlist[i%6],1)
        cv2.namedWindow("frame", 0)  # 0可调大小,注意:窗口名必须imshow里面的一窗口名一直
        cv2.resizeWindow("frame", 800, 600)    # 设置长和宽
        cv2.imshow('frame',frame)
        cv2.imshow('close',close)
        key=cv2.waitKey(1)
        if key==27:break
    else:
        print("NO")
        break
cap.release()
cv2.destroyAllWindows()
    
View Code

 

标签:kernel,frame,cap,cv2,监控,close,视觉,动态,255
From: https://www.cnblogs.com/seemenlee/p/16879565.html

相关文章

  • 019.动态SQL
    1.什么是动态SQL  2.在pom.xml中添加<selectid="dynamicSQL"parameterType="java.util.Map"resultType="com.imooc.mybatis.entity.Goods">select......
  • 小公司自建前端监控埋点体系,证明可行
    正文如下在去年,有过一次文字版的分享,当时系统还没有完全建设成型,大家可以结合这两篇一起看:技术探索:60天急速自研-前端埋点监控跟踪系统大浪子。本文为第五届-前端......
  • 静态库与动态库制作与使用
    静态库1.gcc获得.o文件gcc-cxx.cxx.c 2.将.o文件打包,使用ar工具(archive)arrcslibxxx.axxx.oxxx.or-将文件插入备存文件中c-建立备存文件......
  • antd table 树形数据动态加载
    antd的table组件支持树形结构的数据,不过前提是需要将整棵树的数据一次性全部返回,对于数据量比较大的情况下,可能会需要动态加载数据。exportdefaultfunctionDynamicT......
  • serilog 动态更新日志级别
    使用这个库,更新配置文件,就可以动态更新日志输出级别。newLoggerConfiguration().ReadFrom.Configuration(hostingContext.Configuration)这个Configuration定义在这儿......
  • Prometheus + Grafana(八)系统监控之Kafka
    前言第一种:JMXhttps://help.aliyun.com/document_detail/141108.html?spm=a2c4g.11186623.6.621.12bb4dea7EyM9F第二种:kafka_exporter本文就是采用第二种方式实现,相比J......
  • 想给企业自研的业务系统登录添加OTP动态密码二次认证,双因子认证是怎么做的?
    背景需求不少企业因业务需要会自己研发一些业务系统,为保护业务数据安全,首先要确保能访问到业务数据的人员“身份”安全可信。企业自研业务系统的账号密码基本是IT管理员单......
  • Zabbix技术分享——使用docker-compose快速部署zabbix监控系统
    前文有提到过使用docker来快速拉起一个zabbix监控系统(详见:​​如何使用docker快速部署一个zabbix监控系统​​),但是要一个个执行docker启动命令去将对应的容器启动。如果要配......
  • 动态规划
    动态规划首先,动态规划问题的一般形式就是求最值。既然是要求最值,核心问题是什么呢?求解动态规划的核心问题是穷举。因为要求最值,肯定要把所有可行的答案穷举出来,然后......
  • linux 动态库 版本号,软链接SONAME的编译选项
    摘自:https://www.csdn.net/tags/MtTaEgysMzQ2MDMtYmxvZwO0O0OO0O0O.htmlLinux下动态库有三个名字:realname、soname、linkname。realname:共享库本身的名字,命名格式为......