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

还未写完!!!

  • 完整代码如下:

    python 复制代码
    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
  • 结果如下:

相关推荐
不懒不懒2 分钟前
【OpenCV 图像处理从入门到实战:核心功能全解析】
图像处理·人工智能·opencv
Sagittarius_A*3 分钟前
图像去雾:从直方图增强到暗通道先验【计算机视觉】
图像处理·人工智能·python·opencv·计算机视觉·图像去雾·暗通道先验
TEC_INO6 分钟前
Linux40:查找图形轮廓
opencv
泡泡糖的中文规格书7 分钟前
ES8311 中文规格书开放获取(完整中英对照/低功耗单声道音频CODEC)
音视频·pcb设计·规格说明书·硬件设计·中文数据手册
棉花骑士8 分钟前
【RTX4070】12g显存 ComfyUI AI 视频 (T2V/I2V) 避坑与实战指南
人工智能·音视频
格林威32 分钟前
工业相机图像高速存储(C++版):内存映射文件(MMF)零拷贝方案,附海康相机实战代码!
开发语言·c++·数码相机·计算机视觉·视觉检测·工业相机·海康相机
十八岁牛爷爷32 分钟前
初识相机标定的意义
数码相机·目标检测·机器学习·计算机视觉
辉视广播对讲34 分钟前
基于 SIP 协议的广播对讲在综合管廊音视频系统中的适用性研究
音视频
xiaolu1238836 分钟前
为什么音频不能播放在后加.MP3就可以?
音视频
放下华子我只抽RuiKe539 分钟前
机器学习全景指南-总结与展望——构建你的机器学习工具箱
人工智能·深度学习·opencv·学习·目标检测·机器学习·自然语言处理