2015-04-03 116 views
2

我对OpenCV和一般的图像处理颇为陌生。我正在研究背景扣除以促进运动跟踪(人数统计)。看看the openCV documentation on background subtracting,GMG给出了相当不错的结果。同样在看a video comparing the methods时,我觉得GMG给出了最好的结果,至少对于我的目的而言。为什么createBackgroundSubtractorGMG被认为已经过时,我该如何使用它

我安装了最新版本的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。根据this question,cv2.createBackgroundSubtractorGMG应该在这个版本中可用,但它不是;实际上,它似乎在opencv master中为have been moved to obsolete

有趣的是,在我自己的测试,目前(3.0.0-DEV)版本createBackgroundSubtractorKNNcreateBackgroundSubtractorMOG2的工作比我在opencv2之前(MOGMOG2)测试的要好得多。所以可能将GMG算法转化为这些算法。或者,如果没有,为什么GMG版本现在已经过时了?我怎样才能让过时的版本工作(在python3上),比较结果?

回答

1

我不认为它已经过时......它只是搬到了contrib存储库。您必须使用OpenCV安装它,然后在cv2.bgsegm下可用。按照链接获取构建说明。

相关问题