为什么createBackgroundSubtractorGMG被认为是过时的,我该如何使用它

时间:2015-04-03 09:50:59

标签: opencv background-subtraction opencv3.0

我对OpenCV和图像处理一般都很陌生。我正在研究背景减法以便于运动跟踪(人数统计)。看看the openCV documentation on background subtracting,GMG给出了相当不错的结果。另外,在查看a video comparing the methods时,我觉得GMG会给出最好的结果,至少对我来说是这样。

我安装了最新版本的opencv以便与python3一起使用:

git clone --depth=1 https://github.com/Itseez/opencv.git
cd opencv
mkdir build
cd build
cmake -DBUILD_opencv_python3=YES -DBUILD_opencv_python2=NO -DINSTALL_PYTHON_EXAMPLES=YES -DPYTHON3_EXECUTABLE=/usr/local/bin/python3 -DPYTHON3_INCLUDE_DIR=/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/include/python3.4m -DPYTHON3_LIBRARY=/usr/local/Cellar/python3/3.4.2_1/Frameworks/Python.framework/Versions/3.4/lib/libpython3.4.dylib -DPYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/site-packages/numpy/core/include/ -DPYTHON3_PACKAGES_PATH=/usr/local/lib/python3.4/site-packages/ ..
make -j8
make install
python3 -c "import cv2; print(cv2.__version__)"

最后一行告诉我,我现在正在运行3.0.0-dev。根据{{​​3}},cv2.createBackgroundSubtractorGMG应该在此版本中提供,但它不是;事实上,在opencv master中似乎this question

有趣的是,在我自己的测试中,createBackgroundSubtractorKNNcreateBackgroundSubtractorMOG2的当前(3.0.0-dev)版本比我之前测试的版本(MOG和{{}工作得更好。 1)})在opencv2中。因此MOG2算法可能会被转移到那些算法中。或者,如果没有,为什么GMG版本现在被认为已经过时了?我如何让过时的版本工作(在python3上),比较结果?

1 个答案:

答案 0 :(得分:3)

我认为它不会过时......它只是移到了contrib存储库。您必须使用OpenCV安装它,然后它才能在cv2.bgsegm下使用。按照构建说明的链接进行操作。