lunes, 4 de febrero de 2013

[Lab VC] Intro: Filtros

Para la primera actividad de laboratorio se tuvo que programar una serie de rutinas para aplicar filtros básicos a una imágen utilizando la librería PIL (Python Imaging Library).

El programa que escribí aplica los siguientes filtros:
  • Escala de grises
  • Negativo
  • Difuminado
  • Umbral

Básicamente, el programa recibe un solo argumento, que es el nombre de la imágen a editar, posteriormente se crea una interfaz gráfica sencilla que contiene un canvas que muestra la imágen a modificar y una serie botones en la parte inferior de la ventana para aplicar los filtros, además de un botón adicional para mostrar la imágen original nuevamente y otro para guardar los cambios hechos a la imágen.

Interfaz principal

En la terminal de la aplicación solo se muestra el mensaje "Done!" cuando se termina de aplicar el filtro, el filtro difuminado (blur) muestra el progreso en porcentaje ya que es el más tardado pues se toma el promedio de los 8 vecinos de cada pixel seleccionado.

Los filtros pueden aplicarse en cualquier orden y cualquier número de veces, hasta que el usuario presione el botón Save All para guardar todos los cambios ó el botón Original para deshacer todos los cambios.


Capturas de pantalla de los resultados:

Filtro escala de grises


Filtro umbrales


Filtro difuminado


Filtro negativo


Código:





Liga al repositorio: https://github.com/jcespinosa/vision_computacional/tree/master/laboratorio1

1 comentario: