2 de enero de 2011

Operaciones morfológicas aplicadas a un vídeo

Muchas veces se busca realizar trasformaciones en tiempo real a videos, en este ejemplo vamos a realizar la erosion de un video en una ventana mientras en otra mostramos el video original mostramos. este ejemplo no varia mucho de los anteriores por lo que espero que esta entrada sea corta

Resultado:

 
La calidad del video no es la mejor pero se puede observar la erosion del video de abajo con respecto al de arriba.

Codigo:


Este codigo es muy similar al de la anterior entrada. Lo que tenemos que hacer es crear dos ventanas, ademas crear la barra que nos permita desplazarnos. despues al igual que antes mostramos un video pero enla segunda ventana creamos una imagen y vamos metiendo las imagenes erosionadas en ella.

Voy a explicar las lineas de codigo nuevas

cv.NamedWindow('Imagen',cv.CV_WINDOW_AUTOSIZE)

Esta linea ya la habiamos visto antes, sirve para crear una ventana nueva, lo nuevo que tiene es el segundo argumento, cv.CV_WINDOW_AUTOSIZE, con esto le decimos que el tamaño de la ventana debe ser autoconfigurado al tamaño del video o imagen que valla a mostrar.

out=cv.CreateImage(cv.GetSize(img),cv.IPL_DEPTH_8U,3) 

Esta es la nueva linea en este programa, donde creamos una nueva imagen que va a ser nuestra imagen erosionada, con la funcion cv.GetSize(img) obtenemos el tamaño de la imagen original, para que la nueva imagen tenga el mismo tamaño de la primera, los otros dos argumentos son la profundidad de la imagen y los canales en los que se componen.

cv.Erode(img,out,None,3)  

Aqui aparece nuestra primera transformacion, la funcion erode, tiene como argumentos la imagen origen, la imagen destino y la veces que se quiere erosionar en este caso 3 veces

ahora que sabemos como hacer transformaciones a un video en tiempo real, podemos mirar la documentacion de OpenCV y probar muchas otras transformaciones. en el libro, hacian la transformacion smooth pero como se podia observar con la baja calidad de los videos subidos aqui, preferi hacer una erosion que es un poco mas facil de ver.

Hasta luego 

No hay comentarios:

Publicar un comentario