opencv去除静态背景


import numpy as np
import cv2

cap = cv2.VideoCapture(0)

# 核函数 方式一  核函数:3*3 5*5 7*7 都可以
# kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))
# 核函数 方式二
kernel = np.ones((3, 3), np.uint8)

# 静态背景去除(注意:光照会影响判断)
fgbg = cv2.createBackgroundSubtractorMOG2()
while True:
    ret, frame = cap.read()
    # 静态背景去除,返回二值化图像
    fgmask = fgbg.apply(frame)
    # 开运算
    fgmask = cv2.morphologyEx(fgmask, cv2.MORPH_OPEN, kernel)
    cv2.imshow('frame', fgmask)
    
    # 按q退出
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

猜你喜欢

转载自blog.csdn.net/qq_42102546/article/details/123167948