Как вычесть фон из изображения — python, opencv

Как вычесть фон в неподвижном изображении? ЕСЛИ проблема связана с видео, мы можем использовать cv2.createBackgroundSubtractorMOG(). Я пытался манипулировать функцией, но получил AttributeError

Это то, что я пробовал:

img = cv2.imread('lena.png')
fgbg = cv2.createBackgroundSubtractorMOG2()
fgmask = fgbg.apply(img)
cv2.imwrite('{0:d}.jpg'.format(i),fgmask)

Но я получил эту ошибку:

AttributeError: 'module' object has no attribute 'createBackgroundSubtractorMOG2'

Любое предложение приветствуется!


person user3483746    schedule 27.04.2014    source источник
comment
@Numbers Я добавил то, что пробовал. Я не знаю, прав я или нет.   -  person user3483746    schedule 27.04.2014
comment
дубликат   -  person Hadi    schedule 27.04.2014
comment
@Constantine Думаю, это для видео, но не для неподвижного изображения. Я хочу вычитание фона для неподвижного изображения.   -  person user3483746    schedule 27.04.2014
comment
Вы можете взломать и обучить MOG2 своим изображением, а другое вставить в качестве переднего плана.   -  person Sebastian Schmitz    schedule 28.04.2014
comment
@user3483746 user3483746 Если вы дадите алгоритму только одно изображение, он не сможет знать, что является передним планом, а что фоном, если вы как-то не скажете ему ...   -  person BConic    schedule 28.04.2014
comment
Вы пробовали Core.absdiff(bkgrndImage, image, destImg)?   -  person medloh    schedule 29.04.2014
comment
Какую версию OpenCV вы используете? Я думаю, что эта функция доступна только в 3.0.0-dev   -  person 01zhou    schedule 30.04.2014
comment
@medloh эта функция доступна в opencv 2.4.6 ?? Core.absdiff()?   -  person user3483746    schedule 03.05.2014
comment
Я знаком только с привязками Java. Я знаю, что это было в 2.4.7, и на 99% уверен, что это было в 2.4.6. Не уверен, каким будет сопоставимый вызов в Python.   -  person medloh    schedule 05.05.2014
comment
Замените createBackgroundSubtractorMOG2 на BackgroundSubtractorMOG   -  person Tzach    schedule 28.08.2014
comment
Возможный дубликат модуль OpenCV2 Python createBackgroundSubtractor не найден   -  person Moia    schedule 13.09.2019


Ответы (1)


fgbg = cv2.createBackgroundSubtractorMOG2()

недоступен в учебнике opencv3 - вместо этого вы можете использовать:

fgbg = cv2.BackgroundSubtractorMOG2()
person Siraj Muhammad    schedule 24.08.2016