在OpenCV中应用背景减除技术需要使用BackgroundSubtractor类。该类提供了几种不同的背景建模算法,例如MOG(高斯混合模型)和KNN(K近邻)等。以下是一个简单的示例代码,演示如何使用MOG算法进行背景减除:
import cv2 cap = cv2.VideoCapture('input_video.mp4') fgbg = cv2.createBackgroundSubtractorMOG2() while True: ret, frame = cap.read() if not ret: break fgmask = fgbg.apply(frame) cv2.imshow('Frame', frame) cv2.imshow('Foreground Mask', fgmask) if cv2.waitKey(30) & 0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
在上面的代码中,我们首先创建一个VideoCapture对象用于读取输入视频,然后创建一个BackgroundSubtractorMOG2对象用于背景建模。在每个循环迭代中,我们使用apply方法来获取前景掩模,并将其显示在屏幕上。按下键盘上的’q’键即可退出循环。
这只是一个简单的示例,实际应用中可能需要根据具体情况进行调整和优化。希望这可以帮助到你。