我对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。
有趣的是,在我自己的测试中,createBackgroundSubtractorKNN
和createBackgroundSubtractorMOG2
的当前(3.0.0-dev)版本比我之前测试的版本(MOG
和{{}工作得更好。 1)})在opencv2中。因此MOG2
算法可能会被转移到那些算法中。或者,如果没有,为什么GMG
版本现在被认为已经过时了?我如何让过时的版本工作(在python3上),比较结果?
答案 0 :(得分:3)
我认为它不会过时......它只是移到了contrib
存储库。您必须使用OpenCV安装它,然后它才能在cv2.bgsegm
下使用。按照构建说明的链接进行操作。