La sustracción de fondo tiene varios casos de uso en la vida cotidiana. Se utiliza para la segmentación de objetos, la mejora de la seguridad, el seguimiento de peatones, el recuento del número de visitantes, el número de vehículos en el tráfico, etc. Es capaz de aprender e identificar la máscara de primer plano.
Como sugiere su nombre, es capaz de sustraer o eliminar la parte de fondo de una imagen. Su salida es una imagen segmentada binaria que esencialmente brinda información sobre los objetos no estacionarios en la imagen. Existe un problema en este concepto de encontrar una parte no estacionaria, ya que la sombra del objeto en movimiento puede estar en movimiento y, a veces, clasificarse en primer plano.
Los algoritmos de sustracción de fondo populares son:
- BackgroundSubtractorMOG : es un algoritmo de segmentación de fondo basado en una mezcla gaussiana.
- BackgroundSubtractorMOG2 : utiliza el mismo concepto pero la principal ventaja que proporciona es en términos de estabilidad incluso cuando hay cambios en la luminosidad y una mejor capacidad de identificación de sombras en los marcos.
- Multirrejilla geométrica : Utiliza método estadístico y algoritmo de segmentación bayesina por píxel.
Python3
# Python code for Background subtraction using OpenCV import numpy as np import cv2 cap = cv2.VideoCapture('/home/sourabh/Downloads/people-walking.mp4') fgbg = cv2.createBackgroundSubtractorMOG2() while(1): ret, frame = cap.read() fgmask = fgbg.apply(frame) cv2.imshow('fgmask', fgmask) cv2.imshow('frame',frame ) k = cv2.waitKey(30) & 0xff if k == 27: break cap.release() cv2.destroyAllWindows()
Cuadro de vídeo original:
Cuadro de video sustraído de fondo:
Por lo tanto, vimos una aplicación del algoritmo de sustracción de fondo que detecta movimientos, vida en cuadros de video.
Publicación traducida automáticamente
Artículo escrito por Sourabh_Sinha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA