Descargo de responsabilidad : publiqué esta pregunta en StackOverFlow pero aprendí que aquí es más adecuada.
Soy un poco nuevo en el procesamiento de imágenes, por lo que me gustaría preguntarle si puede encontrar la solución óptima para mi problema, no ayuda para el código. Todavía no podía pensar en una buena idea, así que quería pedirle su consejo.
Estoy trabajando en un proyecto usando OpenCV para contar los vehículos desde un archivo de video o una cámara en vivo. Otras personas que trabajan en un proyecto de este tipo generalmente siguen los objetos en movimiento y luego los cuentan, pero en lugar de eso, quería trabajar con un punto de vista diferente; pidiendo al usuario que establezca un ROI (Región de interés) en la ventana de video y trabaje solo para esta región (por algunas razones, como no tratar con el marco completo y un aumento en el rendimiento), como se ve a continuación. (El usuario puede establecer más de un ROI y se le pide al usuario que establezca la altura del ROI aproximadamente dos veces de un automóvil normal por sentido de proporción).
He realizado algunos progresos básicos hasta ahora, como la actualización de fondo, los filtros morfológicos, el umbral y la obtención del objeto en movimiento como una imagen binaria, como se muestra a continuación.
Después de hacerlos, traté de contar los píxeles blancos del marco frontal de umbral final y estimar si era un automóvil o no, verificando el número total de píxeles blancos (establecí un límite inferior mediante un cálculo estático al conocer la altura del ROI) . Para ilustrar, dibujé un gráfico de muestra:
Como puede ver, fue fácil calcular los píxeles blancos y verificar si dibuja una curva por el tiempo y determinar si un automóvil o algo así como el ruido.
Problema
Tuve bastante éxito hasta que dos autos pasaron por mi ROI juntos al mismo tiempo. Mi algoritmo los contó incorrectamente como un automóvil. Probé diferentes enfoques para este problema y similares a este, como los vehículos largos, pero no he encontrado una solución satisfactoria.
Pregunta
¿Es posible manejar esta tarea con este enfoque de conteo de valores de píxeles? Si no, ¿qué sugieres?
fuente
Respuestas:
Puede realizar un seguimiento de los últimos 10-15 cuadros y contar el número de píxeles blancos de estos cuadros. Puede diferenciar si es un vehículo o no, ya que el gráfico será alto para 10-15 cuadros, podrá decir que es un vehículo, de lo contrario es ruido.
Para contar varios autos en varios carriles de lado a lado, puede verificar la columna de píxeles sabiamente, quiero decir verticalmente. Por el momento, debe verificar los píxeles horizontalmente en busca de píxeles blancos.
fuente