首页 > 其他分享 >背景建模和光流估计

背景建模和光流估计

时间:2024-12-19 20:31:05浏览次数:6  
标签:gray frame cv2 建模 估计 background 光流 diff

背景建模和光流估计是计算机视觉领域中两个重要的任务,它们通常用于视频分析和物 体跟踪。背景建模是从视频序列中提取出场景的静态背景信息的过程。在视频中,背景通常 是不变的元素,如墙壁、地面或天空。通过背景建模,我们可以检测到场景中的动态物体, 因为它们与背景不同。光流是描述图像序列中像素运动的矢量场的概念。光流估计旨在推断 连续帧之间的像素位移。这对于理解场景中的运动、跟踪物体以及分析视频中的动态变换非 常重要 以下是代码,和检测

import cv2
import numpy as np

#使用帧插法的建模
def frameDiff():
    cap=cv2.VideoCapture("BackGround/towStreetCar.mp4")
    es = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 4))
    #上一帧
    background=None
    while True:
        # 读取视频帧
        ret, frame = cap.read()
        if background is None:
            background=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
            background=cv2.GaussianBlur(background,(15,15),0)
            continue
        gray_frame=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
        gray_frame=cv2.GaussianBlur(gray_frame,(15,15),0)
        diff=cv2.absdiff(background,gray_frame)
        diff = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1]

        thros = cv2.dilate(diff, es, iterations=2)
        cv2.imshow("fiff",thros)
        image, cnts, hierarchy = cv2.findContours(diff.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
        for c in cnts:
            if cv2.contourArea(c) < 1500:
                continue
            (x, y, w, h) = cv2.boundingRect(c)
            cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
        ret,thros =cv2.threshold(diff,25,255,cv2.THRESH_BINARY)
        # 显示视频帧
        cv2.imshow('video', frame)
        cv2.imshow('diff', diff)
        background=gray_frame
        # 按下'q'键时退出循环
        if cv2.waitKey(30) & 0xFF == ord('q'):
            break

    cv2.destroyAllWindows()
    cap.release()
if __name__ == '__main__':
    frameDiff()

标签:gray,frame,cv2,建模,估计,background,光流,diff
From: https://blog.csdn.net/yzx991013/article/details/144593989

相关文章

  • UML活动图建模-官网案例-Hospital Management
    The ElectronicPrescriptionService enables prescribers -suchasgeneralpractitioners(GPs)andpracticenurses-tosendprescriptionselectronicallytoa dispenser (suchasapharmacy)ofthepatient'schoice.AswithallNHSConnectingforHeal......
  • 【数理统计】参数估计
    目录点估计矩估计法最大似然估计法区间估计单个正态总体参数的区间估计均值\(\mu\)的区间估计方差\(\sigma^2\)的区间估计两个正态总体参数的区间估计(略)补充:单侧置信区间点估计矩估计法【定义】设\(X\)是随机变量,若\(E(X^k)(k=1,2,...)\)存在,则称其为\(X\)的\(k\)......
  • 【状态估计】基于卡尔曼滤波器的传感器直流电机驱动研究(Matlab代码、Simulink实现)
     ......
  • AFSD搅拌摩擦沉积增材制造稳态温度场、应力场建模——Comsol弱耦合模拟分享
    目录搅拌摩擦沉积增材制造(AFSD)是一种新兴的固态增材制造技术,它结合了传统摩擦搅拌焊接(FSW)和增材制造(AM)的优点。该技术通过旋转工具将材料逐层沉积到基板上,形成三维金属零件。文章目录目录前言一、Comsol是什么?二、模型参数1.材料参数2.工艺参数3.其他环境参......
  • 空心电抗器的matlab建模与性能仿真分析
    1.课题概述       空心电抗器是一种无铁芯的电感元件,主要由一圈或多圈导线绕制在非磁性材料制成的空心圆筒或其他形状的骨架上构成。其工作原理基于法拉第电磁感应定律,当交流电通过电抗器时,会在电抗器的绕组中产生自感电动势,阻碍电流的变化,因此起到限制电流、滤波、吸收......
  • 什么是数据建模,数据建模的重要性、数据建模的主要方法、数据建模的流程、数据建模工具
    一、数据建模的定义数据建模是指对现实世界各类数据的抽象组织,确定数据库需管理的对象、对象的属性以及对象之间的关系,并用适当的工具和符号进行表达的过程。它就像是为数据构建一个蓝图,这个蓝图能够帮助我们更好地理解、存储和使用数据。例如,在一个学校的信息管理系统中,我们可......
  • Sigrity System Explorer ViaWizard模式进行过孔建模和仿真分析操作指导
    SigritySystemExplorerViaWizard模式进行过孔建模和仿真分析操作指导SigritySystemExplorerViaWizard模式可以用于过孔建模用于前仿真分析,建模好过孔进行3D全波仿真分析评估过孔结构的性能,同样以差分模板为例具体操作如下双击打开SystemExplorer软件界面打开如......
  • python练习:“互联网 +” 时代的出租车资源配置的数学建模(二)
    (二)问题2模型补贴效果评估模型构建一个指标来评估补贴方案的综合效果。通过对比补贴前后乘客叫车数量和司机接单数量的变化率来评估补贴方案对市场供需平衡的影响。如果该指标大于0,说明补贴方案在一定程度上有助于缓解打车难;如果小于0,则说明补贴方案可能存在问题或未达到......
  • python练习:“互联网 +” 时代的出租车资源配置的数学建模(一)
    摘要: 本论文聚焦于“互联网+”时代出租车资源配置问题。针对不同时空出租车资源的供求匹配程度进行分析,构建相关指标体系与模型。研究各公司出租车补贴方案对缓解打车难的作用,并设计新打车软件服务平台补贴方案且验证其合理性。本研究为出租车资源配置相关决策提供依据与参......
  • yolov11速度估计+距离测量+轨迹跟踪+计数+代码+教程
    YOLOv11速度估计、距离测量、轨迹跟踪与计数:综合解决方案引言随着计算机视觉技术的快速发展,YOLO(YouOnlyLookOnce)系列目标检测算法因其高效性和准确性而广受欢迎。特别是最新的YOLOv8版本,在保持高性能的同时引入了更多功能,如速度估计、距离测量、轨迹跟踪和对象计数。......