我正在尝试实现 GSOC background subtractor from openCV.
fgbg = cv.bgsegm_BackgroundSubtractorGSOC()
fgmask = fgbg.apply(frame)
但这给了我以下错误:
fgmask = fgbg.apply(frame)
TypeError: Incorrect type of self (must be 'bgsegm_BackgroundSubtractorGSOC' or its derivative)
和
fgmask = cv.bgsegm_BackgroundSubtractorGSOC.apply(frame)
给我这个错误:
fgmask = cv.bgsegm_BackgroundSubtractorGSOC.apply(frame)
TypeError: descriptor 'apply' requires a 'cv2.bgsegm_BackgroundSubtractorGSOC' object but received a 'numpy.ndarray'
.apply() 的文档说我只需要提供一个输入数组(框架)、输出位置和学习率。将 .apply(frame)
更改为 .apply(frame, output, -1)
并不能修复错误
如何正确实现 bgsegm_BackgroundSubtractorGSOC 对象并将其用于我的图像?
i read this post但似乎我已经失败了一步
最佳答案
GSOC 和其他背景扣除方法(MOG2 和 KNN 除外)位于 in the extra modules并需要安装 opencv-contrib 库。 安装后,可以通过编写以下内容来使用该模块:
backSub = cv.bgsegm.createBackgroundSubtractorGSOC()
关于python - 使用 GSOC 进行 openCV 背景扣除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57672256/