一般来说,我对 OpenCV 和图像处理相当陌生。我正在研究背景减法以促进运动跟踪(人数统计)。查看关于背景减法的 openCV 文档,GMG 给出了相当不错的结果。此外,在查看比较方法的视频时,我觉得 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
。根据这个问题,cv2.createBackgroundSubtractorGMG
应该在这个版本中可用,但它不是;事实上,它似乎在 opencv master中已经过时了。
有趣的是,在我自己的测试中,当前(3.0.0-dev)版本createBackgroundSubtractorKNN
和createBackgroundSubtractorMOG2
工作得比我之前在 opencv2 中测试过的版本(MOG
和)要好得多。MOG2
所以可能GMG
算法被转移到了那些。或者,如果不是,为什么GMG
现在认为该版本已过时?我怎样才能让过时的版本工作(在python3上),比较结果?