Pregunta

Tengo un canal de video. Esta secuencia de vídeo contiene varias luces que parpadean a diferentes velocidades. Todas las luces son del mismo color (son todos los LED infrarrojos). ¿Cómo puedo detectar la posición y la frecuencia de estas luces parpadeantes?

exención de responsabilidad: Soy muy nuevo en OpenCV. Tengo una copia de Aprendizaje OpenCV , pero estoy encontrando un poco abrumador. Si alguien podría explicar una solución en la terminología OpenCV, sería muy apreciada. No estoy esperando código que se ha escrito para mí.

¿Fue útil?

Solución

Umbral cada imagen de la secuencia con un umbral que hace que el LED: es visible. Si puede umbral con un umbral que solamente mantiene el LED y elimina fondo, entonces es más o menos terminado ya todo lo que tiene que hacer ahora es hacer un seguimiento de cada posición que ha visto un LED y cuenta la frecuencia con que se produce.

Como paso intermedio, si hay "ruido de fondo" en la imagen de umbral sería el uso de la erosión para eliminar pequeños errores, y luego tal vez se dilatan para "agujeros estrechos" en las manchas esté interesado.

Si la escena es estática también se puede hacer un sencillo modelo de fondo tomando la media de una serie de imágenes y la eliminación de la imagen mediana resultante de cualquier marco y el umbral de eso. Cosas que ha cambiado (su LED) aparecerá más fuerte.

Si la escena se está moviendo veo otra solución (fácil) que asegurarse de que el LED son lo suficientemente brillantes como para ser capaz de utilizar el enfoque de umbral dado anteriormente.

En cuanto a OpenCV: si usted sabe lo que quiere hacer, no es muy difícil encontrar una función que lo hace. La parte difícil es dar con un método para resolver el problema, no la codificación real.

Otros consejos

Si los leds son estacionarias, el problema es mucho más simple que cuando están en movimiento. Si se asume que son estacionarias, una solución para encontrar la frecuencia podría ser simplemente para mantener un vector o una matriz para cada ubicación de píxel en el que se almacenan los valores de ese píxel, preferiblemente después de la pre-procesamiento descrito por kigurai, sobre algún período de tiempo. A continuación, puede calcular la transformada de Fourier 1D transformada de esos vectores de valores y encontrar la frecuencia de tierra como el primer componente significativo después del pico de corriente continua. Si el pico de CC es demasiado baja, significa que no hay es llevado allí.

Hope este problema es aún algo real, y que mi solución tiene sentido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top