有没有一种方法可以导出/检查OpenCV背景扣除以供以后使用?

时间:2019-04-09 20:23:19

标签: python opencv computer-vision background-subtraction checkpointing

是否可以导出/检查OpenCV背景扣除以供以后使用?

我要处理一些非常长的视频文件,这些文件需要清除背景。我想将视频切成小块并分别处理每个块。但是,这样做时,我需要为每个小视频块生成一个新的背景扣除模型。这会占用我很长的视频中的可用数据。

我可以以某种方式检查这个黑匣子吗?如果是这样,如何使用导出的检查点信息来启动视频?

版本信息

  • Python 3.6.4
  • OpenCV 3.4.1

(欢迎使用C ++用户的答案,尽管首选Python)

MWE

import numpy as np

import cv2

FGBG = cv2.bgsegm.createBackgroundSubtractorMOG(100, 7, 0.5, 5)
MAT = np.ones((3, 3), np.uint8)
pos_frame = 0

while pos_frame < 1000:
    cap = cv2.VideoCapture(the_file)
    cap.set(cv2.CAP_PROP_POS_FRAMES, pos_frame)
    ret, frame = cap.read()
    if ret:
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        frame = cv2.GaussianBlur(frame, (5, 5), 0)
        frame = FGBG.apply(frame, learningRate=.05)
        frame = cv2.morphologyEx(frame, cv2.MORPH_GRADIENT, MAT)
        cv2.waitKey(1)
    pos_frame += 1

# This is a placeholder for what I want to do.
cv2.somehowexportthebackgroundinfofromabove()

0 个答案:

没有答案