首页 > 其他分享 >《OpenCV 计算机视觉》—— 视频背景建模

《OpenCV 计算机视觉》—— 视频背景建模

时间:2024-09-30 19:47:56浏览次数:11  
标签:视频 MORPH 卷积 frame cv2 建模 fgmask OpenCV new

  • 完整代码如下:

    import cv2
    
    cap = cv2.VideoCapture('test.avi')
    
    """
    getstructuringElement(shape,ksize,anchor=None)得到一个卷积核。主要用于后续的腐蚀、膨胀、开、闭等运算。
    参数:shape:设定卷积核的形状,可选如下三个参数:
                ①:MORPH_RECT(矩形卷积核)
                ②:MORPH_CROSS(十字形卷积核)
                ③:MORPH ELLIPSE(椭圆形卷积核)
        ksize:设定卷积核的大小、
        anchor:表示描点的位置:一般c=1,表示描点位于中心
    """
    
    kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (3, 3))
    
    # 创建混合高斯模型,用于背景建模
    fgbg = cv2.createBackgroundSubtractorMOG2()
    
    while (True):
        ret, frame = cap.read()     # ret:True表示正常读取到图像,frame:从视频中获取当前一帧图片
        cv2.imshow('frame', frame)
        fgmask = fgbg.apply(frame)  # 视频处理
        cv2.imshow('fgmask', fgmask)
        fgmask_new = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)   # 开运算去噪点,先腐蚀后膨胀。
        cv2.imshow('fgmask_new', fgmask_new)
        # 寻找视频中行走人的轮廓
        _, contours, h = cv2.findContours(fgmask_new, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    
        for c in contours:
            # 计算各轮廓的周长
            perimeter = cv2.arcLength(c, True)
            if perimeter > 188:  # 找到人的矩形框
                x, y, w, h = cv2.boundingRect(c)
                # 画出这个短形
                fgmask_new_rect = cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
    
        cv2.imshow('fgmask_new_rect', fgmask_new_rect)
        k = cv2.waitKey(60)
        if k == 27:
            break
    
  • 结果如下:
    在这里插入图片描述

标签:视频,MORPH,卷积,frame,cv2,建模,fgmask,OpenCV,new
From: https://blog.csdn.net/weixin_73504499/article/details/142662894

相关文章

  • 基于springboot+vue.js的家装一体化平台附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SpringBoot前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 【代码实现】opencv 高斯模糊和pytorch 高斯模糊
    wiki百科GaussianBlur,也叫高斯平滑,是在AdobePhotoshop、GIMP以及Paint.NET等图像处理软件中广泛使用的处理效果,通常用它来减少图像噪声以及降低细节层次。opencv实现opencv实现高斯滤波有两种方式,1、是使用自带的cv2.GaussianBlur,2、自己构造高斯kernel,然后调用cv......
  • SSM短视频的推荐平台j58lk 留言板
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,视频类型,视频信息开题报告内容一、项目背景随着互联网技术的快速发展,短视频平台逐渐成为人们获取信息和娱乐消遣的重要渠道。然而,面对海量且多......
  • OpenCV(图像对比度增强)
    目录1.直方图均衡化2.自适应直方图均衡化3.限制对比度自适应直方图均衡化4.线性对比度拉伸5.Gamma校正6.Retinex方法7.多尺度对比度增强8.方法选择与应用场景总结增强图像对比度是图像处理中的一个重要步骤,旨在提高图像中不同亮度区域之间的差异,使细节更加清晰和明显......
  • 如何快速建立自己的异地互联的远程视频监控系统,通过web浏览器可以直接查看公网上的监
    目录一、需求二、方案2.1、计划方案2.2、实施准备2.2.1所需配置的产品和服务2.2.1.1云主机 (1)选择云平台 (2)配置云服务器2.2.2.2视频监控平台软件(1)视频监控平台软件(2)软件安装与配置2.2.2.3客户端访问2.2.2所需配置的人员三、选择公网的云视频监控接入平台3.1、......
  • 安防监控/视频系统EasyCVR视频汇聚平台如何过滤134段的告警通道?
    视频汇聚/集中存储EasyCVR安防监控视频系统采用先进的网络传输技术,支持高清视频的接入和传输,能够满足大规模、高并发的远程监控需求。平台支持国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK......
  • 加油站智能视频监控预警系统(AI识别烟火打电话抽烟) Python 和 OpenCV 库
    加油站作为存储和销售易燃易爆油品的场所,是重大危险源之一,随着科技的不断发展,智能视频监控预警系统在加油站的安全保障方面发挥着日益关键的作用,尤其是其中基于AI的烟火识别、抽烟识别和打电话识别功能,以及其独特的系统组网方式。加油站重大危险源监测(一)油品的易燃易爆性加油站储......
  • 高清视频格式转换软件 WonderFox HD Video Converter 序列号
    WonderFoxHDVideoConverterFactoryPro是一款多语言、一体化的软件应用程序,专注于音频视频转换、编码、下载、编辑和录制。在WonderFox独家视频编码技术的支持下,HDVideoConverterFactoryPro可实现更高质量的输出,使其在众多高清视频转换器中脱颖而出。该版本已内置序......
  • 安防监控/智慧安防EasyCVR视频汇聚监控平台无法启动并报错“no space left on service
    视频汇聚/安防监控/智慧安防EasyCVR视频监控平台,作为一款智能视频监控综合管理平台,凭借其强大的视频融合汇聚能力和灵活的视频能力,在各行各业的应用中发挥着越来越重要的作用。平台可以引入AI智能分析能力,能够实现对视频中的特定对象进行检测、识别、跟踪,为后续的数据分析和处理提......
  • 安防监控/视频系统EasyCVR视频汇聚平台如何过滤134段的告警通道?
    视频汇聚/集中存储EasyCVR安防监控视频系统采用先进的网络传输技术,支持高清视频的接入和传输,能够满足大规模、高并发的远程监控需求。平台支持国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤......