Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ciencia Computacional
Profesor: Julio Ibarra
Informe de trabajo Final Enero 2015
Juan Anzieta
Este informe tiene por objetivo hacer una descripcin sucinta acerca de los programas que
se crearon, su utilizacin y los resultados que se obtienen de cada uno. Para realizar esto se
enumeran los tems que se nos solicitaron en el documento con los requerimientos del
trabajo final y se responde qu programa cubre dicho tem. Despus de enumerar los tems
con las respectivas carpetas que contienen los programas se empieza la descripcin de los
mismos.
Cabe recalcar que la carpeta que contiene este archivo contiene las subcarpetas con cada
programa y las imgenes dentro de ellas con las que se trabajaron los programas y las
imgenes resultado que se obtuvieron tambin.
Otra caracterstica general a todos los programas es la forma de uso de los mismos.
En general el usuario debe primero tener todas las siguientes libreras disponibles:
import sys
from PyQt4 import QtGui, QtCore
from PyQt4.QtGui import QFileDialog
from matplotlib.backends.backend_qt4agg
FigureCanvas
import
FigureCanvasQTAgg
as
import random
Despus el usuario deber ingresar en el directorio (carpeta) del programa deseado y desde
consola (terminal) deber ingresar:
$python NOMBRE.py
Donde NOMBRE es el nombre del programa en ese directorio. Esto inicializar cada
programa con sus caractersticas propias.
A continuacin se enumeran los tems solicitados y los programas que los cubren:
Ahora se procede a describir cada programa. Para cada uno de ellos las imgenes mostradas
que se usaron se encuentran en las respectivas carpetas. Todos los programas deben abrir
una (o ms) imagen(es) y tiene la capacidad de guardar las imgenes donde la ltima
modificacin ser la imagen guardada. Los programas funcionan con imgenes
normalizadas excepto cuando se indica lo contrario. Es decir la gama de valores en escala
de grises va de 0.0 a 1.0 al menos que se indique un programa con alguna excepcin (por
ejemplo el programa de niveles binarios).
lineal.py
Es el programa que dado un valor umbral transforma la imagen a una imagen blanco y
negro. Se basa en una operacin sobre los ndices de tal forma que a los valores bajo un
zoomer.py
Este programa tiene 3 funciones. Aumentar una imagen de manera normal es decir
multiplicando filas y columnas y llenndolas con los mismos valores. Duplicar la imagen
de manera promedio (es decir cuando los pixeles nuevos son el promedio de los anteriores
y los siguientes). Reducir la imagen mediante borrado de filas y columnas impares.
Cada vez que se quiere aplicar otra operacin se debe resetear la imagen (para volver a la
original) o se debe guardar en memoria la que se alter para modificarla an ms, o
guardarla en disco.
Para demostrar el uso de este programa primero se redujo la imagen 2 veces (primera
figura) y despus se le aplic el aumento normal (segunda figura) y luego el aumento
promedio (tercera figura), aunque el programa puede aumentar la imagen original si se
desea aunque esta no alcance en la pantalla de la interfaz de usuario (cuarta figura, se puede
guardar la imagen aumenta de todas formas).
Tambin cabe mencionar que ya que el aumento promedio duplica las dimensiones de la imagen
cada vez y adems hace clculos de promedio es una operacin bastante costosa a nivel
computacional y por eso se limit su uso hasta 4 veces.
log1.py
Este programa aplica una transformacin escalada con logaritmo en base 2 a cada uno de los
pixeles.
gamma1.py
Este programa aplica la funcin potencia a cada pixel con la posibilidad de modificar los valores.
hist.py
Este programa muestra el histograma de la imagen original y lo ecualiza siguiendo la frmula del
libro 3.3-8. Cabe notar que la ecualizacin funciona de manera muy similar para imgenes iguales
pero con histogramas diferentes. Esto se realiz con las imgenes modificadas anteriormente.
multi.py
Este programa realiza las operaciones bsicas entre imgenes despus de cargar dos imgenes de
tamaos iguales. La operacin del recproco slo se realiza sobre la primera imagen (y tambin se
puede guardar para usarse posteriormente. Las operaciones mostradas son suma, resta (de la
primera menos la segunda), multiplicacin (normalizada) y el recproco de la primera imagen.
boole.py
Esta aplicacin realiza las operaciones booleanas AND y OR con una mscara dada sobre una
imagen. Primero se muestra la operacin AND y luego OR.
binario.py
Este programa muestra diferentes capas binarias y tambin grafica la imagen con las capas
superiores hasta la que se desee (este programa cubre dos programas). Cabe mencionar que en este
programa se tuvo que trabajar con imgenes en escala 0 255 para binarizar la informacin y
extraer las capas y mostrar las capas principales.
fftfilt.py
Este programa muestra algo similar a lo indicado en clases. Realiza una transformada de Fourier a
la imagen y le aplica un pasaaltos o un pasabajos y requiere que el usuario diga cunto porcentaje
quiere eliminar del nuevo espectro.
convgen.py
Este programa recibe un filtro 5x5 (o 3x3 si el usuario llena de ceros las entradas necesarias) por
parte del usuario y la aplica a la imagen deseada. La convolucin fue desarrollada.
convfil.py
Este programa aplica los filtros solicitados de laplaciano, gradiente (horizontal y vertical) y
mediana. La convolucin se realiz en base al programa anterior.
Esto concluye la descripcin breve de los programas. Los detalles de estos se encuentran en el
cdigo y su funcionamiento se explicar en la defensa personal.