python-opencv AttributeError: el objeto ‘module’ no tiene ningún atributo ‘createBackgroundSubtractorGMG’

Estoy tratando de seguir el tutorial que se encuentra en: https://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_video/py_bg_subtraction/py_bg_subtraction.html

Mientras intentaba el tercer ejemplo (BackgroundSubtractorGMG) me sale este error:

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

Tengo el mismo error para los ejemplos anteriores. Pero seguí la explicación dada en este post . De alguna manera, el mismo truco no funcionó aquí.

Si hay alguien que haya logrado resolverlo, por favor, ayúdeme.

Usando Python 2.7.3 y opencv 2.4.6.1 en Ubuntu 12.04

oh cielos, esa es otra de esas historias …

con 2.4.6, solo puedes usar BackgroundSubtractorMOG de python. (parada completa)

a partir de 2.4.8, parece que el problema BackgroundSubtractorMOG2 se solucionó, pero el BackgroundSubtractorGMG aún no se encuentra.

con ambas versiones, utilizas un constructor plano para crear uno.

en 3.0 (maestro), cambiaron la syntax, ahora tienes que llamar ‘createBackgroundSubtractorGMG’, ‘createBackgroundSubtractorMOG2’ y demás (eso es a lo que se refiere tu tutorial). Pero ahora puedes usar las 3 versiones al menos.

así que de cualquier manera, si desea usar BackgroundSubtractorMOG2, tendrá que actualizar a 2.4.8, si necesita BackgroundSubtractorGMG, necesitará 3.0 (lo que en cierto modo es “vanguardista”, pero la nueva interfaz tiene la Mucho mejor control sobre los parámetros necesarios, imho).

En OpenCV 3.0.0-dev, debe comstackr con los repositorys contrib y luego está en el sub-módulo bgsegm. Es decir, llame a cv2.bgsegm.createBackgroundSubtractorGMG ()

 cv2.bgsegm.createBackgroundSubtractorGMG() cv2.createBackgroundSubtractorMOG2() cv2.bgsegm.createBackgroundSubtractorMOG(), 

** Esto funcionó para mí **

bgsegm estaba en el módulo contrib de opencv, pero después de la actualización no estoy seguro.

Pero aún así, si no ha construido el módulo contrib:

 pip install opencv-contrib-python 

Asegúrese de que no se esté ejecutando ninguna consola que haya importado cv2 mientras ejecuta el proceso de instalación. Ejecuta el cmd como Administración

Funciono para mi