Hola, estoy intentando hacer algunos procesamientos de imagen. Uso Microsoft Kinect para detectar humanos en una habitación. Puedo recuperar los datos de profundidad, hacen un trabajo de sustracción de fondo y terminan con una secuencia de video como este cuando una persona entra en la escena y se pasea por:¿Cómo puedo eliminar el ruido de esta secuencia de video?
pongo un video para que pueda ver el comportamiento de el ruido en el video. Los diferentes colores representan diferentes niveles de profundidad. Blanco representa vacío. Como pueden ver, es bastante ruidoso, especialmente los ruidos rojos.
Necesito deshacerme de todo menos del humano tanto como sea posible. Cuando hago erosión/dilatación (usando un tamaño de ventana muy grande) puedo deshacerme de mucho ruido, pero me pregunto si hay otros métodos que pueda usar. Especialmente el ruido rojo en el video es difícil de eliminar usando la erosión/dilatación.
Algunas notas:
1) Una mejor sustracción de fondo se podría hacer si sabíamos cuando no hay seres humanos en la escena, pero la sustracción de fondo que hacemos es totalmente automática y funciona incluso cuando hay humanos en el escena e incluso cuando la cámara se mueve, etc. por lo que esta es la mejor resta de fondo que podemos obtener en este momento.
2) El algoritmo funcionará en un sistema integrado, en tiempo real. Por lo tanto, cuanto más eficiente y fácil sea el algoritmo, mejor. Y no tiene que ser perfecto. Aunque también son bienvenidas las técnicas de procesamiento de señales complicadas (tal vez podríamos usarlas en otro proyecto que no necesita procesamiento embebido en tiempo real).
3) No necesito un código real. Solo ideas.
Saber más acerca de la resta de fondo podría ayudar; es decir, ¿por qué queda ruido en la imagen? – jpa
¿Qué SDK/controlador estás usando (por ejemplo, MS Kinect SDK, OpenNI, libfreenect, etc.)? –