Вы находитесь на странице: 1из 3

Reporte

José Cristóbal Sierra Ramírez


Departamento de ingeniería en Mecatrónica
Universidad de Guanajuato

Resumen – El presente documento describe el matriz tridimensional.


desarrollo y realización de la programación Es el kernel, en este caso
necesaria para utilizar el filtro extremo en una solo se utiliza para
k
cantidad de imágenes de control proporcionadas por parametrizar la dimensión
de la ventana de análisis.
el docente.
Son los valores del ancho y
x, y largo de la imagen
respectivamente.
I. INTRODUCCIÓN
El filtro extremo tiene la tarea de asignar a cada Una vez establecidos esos parámetros, se debe
píxel de la imagen de salida, el valor de intensidad destacar que la lectura y tratamiento de la imagen
que es más cercano a los dos valores más grandes es por medio de un desplazamiento vertical. En
en la ventana que se aplique. nuestro caso contamos con 2 ciclos While
anidados, para este propósito.

El movimiento y dimensión correspondiente a


cada variable se ven representados en las figuras 2
y 3.
Fig. 1. Ejemplificación de funcionamiento de filtro extremo en
ventana de 3x3.

En la figura 1 se puede visualizar el


comportamiento del filtro en cuestión, sin
embargo, el grado de valor a seleccionar para la
salida del píxel depende en mayor medida del
nivel de comparación que se desea alcanzar,
puesto que puede ser tomado directamente el
valor máximo o mínimo dentro de la ventana a
analizar, todo es cuestión del uso y su
programación.

II. DESARROLLO
Fig. 2. Idealización de diagrama para filtro extremo, con un
Para la programación de este filtro se utilizó la tamaño de ventana 3x3.
distribución de Python, específicamente el
paquete Spyder (Anaconda), puesto que una gran
ventaja de esta paquetería proviene de ser un
entorno de programación ya con múltiples
librerías orientadas a OpenCV y procesamiento de
matrices. A continuación, se describirá los pasos
ejecutados por el código programado (En la parte
Anexo se adjuntará el código Filtro Extremo).

Una vez importada la librería OpenCV los valores


de configuración básicos son los siguientes:

Variable. Descripción.
Dirección del directorio Fig. 3. Posicionamiento y desplazamiento de ventana a través
ruta donde se encuentran las de la imagen.
imágenes.
image Matriz donde se alojará el
contenido de nuestra Lo primero que se hace es leer el tamaño de la
imagen, nótese que es una matriz kernel, para replantear los índices de inicio
y fin de nuestros ciclos while y nuestros
contadores u, w, i y j respectivamente. Debemos
tomar en cuenta que se debe calcular el centro de
nuestra ventana para así de esta forma saber el
dónde se alojara el píxel de salida una vez
realizada la comparativa.

Una vez establecidos los valores anteriores, lo que Fig. 5. Ventana 5x5 imgNoise/color1.jpg
sucede internamente entre cada iteración se puede
explicar en la siguiente sucesión de instrucciones:

1. Se posiciona el centro de la matriz en el valor u, w


actual.

2. Se inicializa un contador que va desde -1 hasta 1


(para el caso de una ventana de 3x3) que se ve
representado por i y j. ambos del mismo valor
puesto que la ventana es simétrica.
Fig. 6. Ventana 7x7 imgNoise/color1.jpg
3. Se guardan todos los valores de cada elemento de la
matriz de 3x3 en una lista, en este caso se generan 3 Como se puede visualizar en las figuras 4, 5 y 6 la
listas, una para cada canal de color, rd, grn, bl. imagen titulada colo1.jpg presenta ruido, y según
va aumentado el tamaño de la ventana se va
4. Se usan las siguientes funciones:
difuminando cada vez más y perdiendo mucha
rd=list(set(sorted(rd))) información.

convierte en una lista una


list( )
sucesión de datos.
elimina valores repetidos dentro
set( ) de una lista y lo convierte en
variable tipo set.
reorganiza los valores de una lista
sorted( )
de menor a mayor.

5. Lo anterior se ejecuta a cada canal de color, y se


asigna como valor nuevo el tercer valor mas alto de
la lista obtenida.

6. Se aumenta contador u, w se resetean listas y


contadores anidados y se repite el ciclo.

III. RESULTADOS
A continuación, se muestran los resultados del
procesamiento con dicho filtro en las imágenes de
controlo proporcionadas.

Fig. 7. Ventana 3x3, 5x5, 7x7 imgNoise/color3.jpg

Fig. 4. Ventana 3x3 imgNoise/color1.jpg


Analice el funcionamiento del filtro e indique
¿Cuál sería la principal desventaja de un filtro
como este? Como se ha podido apreciar en las
imágenes mostradas, mientras más amplia sea la
ventana, más información se perderá en durante el
procesamiento.

Tabla de valor de MSE Imagen a Color.


Imagen a color
Ventana 3x3 Imagen a color
original vs
imgNoise/color1.jp original vs
imagen sin
g imagen filtrada
filtrar
Valor de MSE 1916.84 1386.19

Imagen a color
Ventana 5x5 Imagen a color
original vs
imgNoise/color1.jp original vs
imagen sin
g imagen filtrada
filtrar
Valor de MSE 1916.84 1303.30

Imagen a color
Ventana 7x7 Imagen a color
original vs
imgNoise/color1.jp original vs
imagen sin
g imagen filtrada
filtrar
Fig. 8. Ventana 3x3, 5x5, 7x7 imgNoise/profundidad1.jpg Valor de MSE 1916.84 2279.31

Fig. 9. Ventana 3x3, 5x5, 7x7 imgNoise/profundidad2.jpg

¿Es posible usar este filtro para mejorar


imágenes? En cierta medida si, puesto que
elimina mucho ruido de la imagen a tratar, y
podría funcionar como un preprocesamiento
digital y posteriormente detectar objetos o mapear
colores.

Вам также может понравиться