我正尝试将cv2.createBackgroundSubtractorMOG()
应用于此图片:
消除所有背景亮度,仅将两个明亮的对象放在中间以进行进一步分析。这是执行此任务的正确方法吗?如果没有,我该怎么办?
import cv2
img = cv2.imread('image.png')
sharp_img = cv2.createBackgroundSubtractorMOG().apply(img)
输出:
Traceback (most recent call last):
File "/home/artur/Desktop/test.py", line 4, in <module>
sharp_img = cv2.createBackgroundSubtractorMOG().apply(img)
AttributeError: module 'cv2.cv2' has no attribute 'createBackgroundSubtractorMOG
修改:
MOG似乎不起作用。
代码:
import cv2
img = cv2.imread('image.png')
sharp_img = cv2.bgsegm.createBackgroundSubtractorMOG().apply(img)
cv2.imwrite('image2.png', sharp_img)
输出:
Traceback (most recent call last):
File "/home/artur/Desktop/test.py", line 4, in <module>
sharp_img = cv2.bgsegm.createBackgroundSubtractorMOG().apply(img)
AttributeError: module 'cv2.cv2' has no attribute 'bgsegm'
MOG2似乎可以运行,但没有令人满意的结果:
代码:
import cv2
img = cv2.imread('image.png')
sharp_img = cv2.createBackgroundSubtractorMOG2().apply(img)
cv2.imwrite('image2.png', sharp_img)
输出图像:
我尝试使用文档中的MOG2方法的参数,但没有任何改变。
答案 0 :(得分:1)
从docs中尝试以下操作:
sharp_img = cv.bgsegm.createBackgroundSubtractorMOG().apply(img)
或
sharp_img = cv2.createBackgroundSubtractorMOG2().apply(img)