《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
  • 结果如下:

相关推荐
中微极客1 小时前
视频Agent:从一次性生成到多轮编排架构
人工智能·架构·音视频
霸道流氓气质2 小时前
视频预览链路三件套:ZLMediaKit · MediaMTX · FFmpeg 完全指南
ffmpeg·音视频
xgc_java3 小时前
在Java里把ONNX/OpenCV/FFmpeg跑稳:28篇bytedeco实战小册完整指南
java·opencv·ffmpeg
霸道流氓气质3 小时前
摄像头视频预览实现教程:从原理到落地(ZLMediaKit+ flv.js+ Spring Boot)
javascript·spring boot·音视频
小柯南敲键盘15 小时前
批量图片翻译与视频字幕一站式解决高效跨境电商沟通难题
大数据·人工智能·python·音视频
在世修行1 天前
二值化技术详解
图像处理·opencv·计算机视觉·二值化
雪的季节1 天前
Qt +C++ OpenCV+YOLO ONNX+PyTorch 整套技术栈分层掌握标准
计算机视觉
luoyayun3611 天前
【音频基础学习】第 5 天,理解音量、增益和分贝
学习·音视频·音频基础学习
中微极客1 天前
2026年AI视频生成模型选型与工程实践指南
人工智能·音视频
阿童木写作1 天前
跨马翻译:一站式图片视频智能处理,提升跨境电商工作效率
人工智能·python·音视频