Opencv背景分割器
转载请注明出处:https://blog.youkuaiyun.com/qq_41007606/article/details/82053828
Opencv提供了一个称为BackgroundSubtractor的类,在分割前景和背景时很方便。下面我们直接上代码,看一下它的使用方式。
这里提供Python和C++两种版本的code。
Python实现
1、导入包
import numpy as np
impport cv2
2、打开视频或摄像头
cap = cv2.Videocapture()
3、创建背景分割器,这里支持KNN,MOG2,GMG三种,根据自己的需要选择
mog = cv2.createBackgroundSubtractorMOG2()
4、传入图像并检测
while1(1)
frame = cap.read()[1]
mask = mog.apply(frame)
cv2.imshow('frame',mask)
cv2.waitKey(30)
cap.release()
cv2.destoryAllWindows()
c++实现
1、引入opencv头文件
2、打开摄像设备或视频
VideoCapture capture();
3、创建背景分割器
pBackgroundKnn = createBackgroundSubtractorMOG2();
4、传入图像并检测
Mat frame;
Mat mask;
capture>>frame;
pBackgroundKnn->apply(frame, mask);
imshow("frame",mask);
waitKey(30);