def subtract_background(self):
fgbg = cv2.createBackgroundSubtractorMOG2()
prev = self.frames[0]
fgmask = fgbg.apply(prev)
for (i,next) in enumerate(self.frames[1:]):
prev_gray = cv2.cvtColor(prev, cv2.COLOR_BGR2GRAY)
next_gray = cv2.cvtColor(next, cv2.COLOR_BGR2GRAY)
similarity_metric = compare_ssim(prev_gray, next_gray)
print('prev/next similarity measure = %f' % similarity_metric)
if similarity_metric < self.transition_threshold:
fgmask = fgbg.apply(next)
fgdn = denoise_foreground(next, fgmask)
self.transitions.append((1, fgdn))
else:
fgmask = fgbg.apply(next)
self.transitions.append((0, None))
prev = next.copy()
评论列表
文章目录