Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Índice
Introducción ........................................................................................................................................ 2
MatLab ............................................................................................................................................ 3
Técnicas de filtrado ..................................................................................................................... 4
Tipos de ruidos. ........................................................................................................................... 5
Filtro de mediana. ............................................................................................................................... 6
Filtro Gaussiano................................................................................................................................... 9
Filtro de la media............................................................................................................................... 11
Conclusión ......................................................................................................................................... 17
Bibliografía ........................................................................................................................................ 18
1
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Introducción
En el presente informe se dará a conocer los filtros de imágenes, como es el filtro de la
mediana, de la media, gaussiano y el de “sal y pimienta”. Se mostraran sus imágenes a partir
de ecuaciones o algoritmos realizados en MatLab en donde se nos hace más fácil poder
realizar estos filtrados por la accesibilidad del programa y sus funciones completamente
aplicables en el tema de procesamiento digital de señales.
Se procede aplicar los algoritmos a las imágenes incluyendo cada una de las imágenes al
informe con sus respectivos códigos, al igual que las gráficas de las funciones de los tipos
de filtros en los cuales se puede observar la variación de estos, ya sea en la suavidad o
eliminando o añadiendo el ruido.
Se hace una pequeña introducción de lo que es el programa MatLab con sus principales
características y ventajas.
Se da a conocer las técnicas de filtrado en los cuales serán tratados a continuación.
2
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
MatLab
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una herramienta
de software matemático que ofrece un entorno de desarrollo integrado (IDE) con un
lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix,
Windows, Mac OS X y GNU/Linux.
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de
datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario
(GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos
hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus
prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de
interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con
las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques
(blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los
últimos años ha aumentado el número de prestaciones, como la de programar
directamente procesadores digitales de señal o crear código VHDL.
En 2004, se estimaba que MATLAB era empleado por más de un millón de personas en
ámbitos académicos y empresariales.
Características principales.
3
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Técnicas de filtrado
En el procesamiento digital de señales los filtros constituyen o contribuye uno de los
principales modo de operar en las imágenes. Se puedes utilizar para distintos fines, pero en
todos los casos, el resultado sobre cada pixel depende de los pixeles a su entorno o vecinos.
Son métodos para resaltar o suprimir, de forma selectiva, información contenida en una
imagen a diferentes escalas espaciales, para destacar algunos elementos de la imagen, o
también para ocultar los valores que nos causen ruido dentro de la imagen.
Una imagen se puede filtrar en el dominio del espacio, en donde se trabaja directamente
sobre los pixeles de la imagen, o en el dominio de la frecuencia, donde las operaciones
aritméticas se llevan a cabo en la transformada de Fourier de la imagen.
En el tipo de filtrado tenemos distintos objetivos en los cuales están:
4
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Imagen 1.1
Imagen 1.2
Tipos de ruidos.
o Aditivo: Lo más usuales son “Sal y pimienta” y Gaussiano, que son esencialmente aditivo
y la señal es independiente, g(z,y) = f(z,y) + n(z,y) donde g(z,y) es el resultado de la
distorsión de la imagen original f(z,y) por el ruido Gaussiano aditivo n(z,y).
o Impulsivo: Frecuentemente los sensores generan ruido impulsivo. Algunas veces el
ruido generado por transmisión digital (o incluso analógica) es impulsivo. Puede ser
modelado como: g(x, y)= (1-p)*f(x, y)+p*i(x, y) donde i (z, x) es el ruido impulsivo y “p”
pertenece a {0,1}.
o Multiplicativo: El ruido de aspecto granulado de las imágenes de radares y ecografías.
Es esencialmente multiplicativo. Tiene un aspecto moteado. g (z.y)=f (z, y)*m(x, y),
donde m (z, y) es el ruido multiplicativo.
5
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Filtro de mediana.
La mediana es un conjunto de números (2K+1) es el numero tal que K números del conjunto
tiene valores mayores que este número, en tanto que los otros K números tienen valores
más pequeños. La mediana se determina disponiendo los números en orden según sus
valores en un conjunto y eligiendo luego el número de la parte media. Por ejemplo tenemos
las siguientes cifras {1, 2, 3, 5,-1,-2,-5}. El conjunto puesto por orden es {-5,-2,-1, 1, 2, 3,5}.
Por lo tanto la mediana es 1.
El filtro de la mediana se implementa deslizando una ventana de longitud impar sobre la
secuencia de entrada {x[n]} una muestra a la vez. En cualquier instante, la salida del filtro
corresponde al valor de la mediana de las muestras de entrada dentro de la ventana. De
manera más específica, la muestra de salida y[n] en el n-ésimo instante del filtro de mediana
con una ventana de longitud (2K+1) está dada por
𝑦[𝑛] = 𝑚𝑒𝑑{𝑥[𝑛 − 𝐾], … , 𝑥[𝑛 − 1], 𝑥[𝑛], 𝑥[𝑛 + 1], … , 𝑥[𝑛 + 𝑘]}.
𝐸𝑐. 1.1
En la práctica, para procesar una secuencia de longitud finita {x[n]} de longitud N mediante
un filtro de mediana con una ventana de longitud M, donde M<N, se añaden (M-1)/2
muestras de valor cero a ambos lados de la secuencia de entrada {x[n]} para crear una nueva
secuencia {𝑥𝑒 [𝑛]} de longitud N + M – 1:
(𝑀 − 1)
0, − ≤ 𝑛 ≤ −1,
2
𝑥𝑒 [𝑛] = 𝑥[𝑛], 0≤𝑛≤𝑁−1
(𝑀 − 1)
{0, 𝑁 ≤ 𝑛 ≤ 𝑁 − 1 +
2
La secuencia {𝑥𝑒 [𝑛]} cuando se procesa por medio del filtro de mediana, genera una
secuencia de salida {y[n]} también de longitud N.
El filtro de mediana encuentra aplicación en la eliminación del ruido de impulso aleatorio
aditivo, el cual se presenta como errores repentinos grandes en la señal alterada. El filtro
de mediana suele usarse para suavizar señales alteradas por ruido de impulso, en el
siguiente ejemplo se aplicará un filtro de mediana a la ecuación 1.1 para eliminar el ruido
de impulso en muestras de datos medidos.
6
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Se elige como la longitud del filtro de mediana a M=3, donde arroja la siguiente gráfica:
Imagen 1.3
Imagen 1.4
7
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
El filtro de mediana tiene la ventaja de que el valor final del pixel es un valor real presente
en la imagen y no un promedio, de este modo se reduce el efecto borroso que tienen las
imágenes que han sufrido un filtro de media. Además el filtro de mediana es menos sensible
a valores extremos. El inconveniente es que resulta más complejo de calcular ya que hay
que ordenar los diferentes valores que aparecen en los pixeles incluidos en la ventana y
determinar cuál es el valor central.
Imagen 1.5
Los pixeles de la nueva imagen se generan calculando la mediana del conjunto de pixeles
del entorno de vecindad del pixel correspondiente a la imagen de origen. De esta forma se
homogenizan los pixeles de intensidad muy diferente con respecto a la de los vecinos. Este
tipo de filtro es bastante indicado cuando se tiene ruido aleatorio.
El código Matlab y las imágenes que se obtuvieron al realizar la simulación fueron las
siguientes:
imc=imread('C:\Program Files (x86)\MatLab\rdvz\imagen2.jpg');
im=rgb2gray(imc);
fg = imnoise(im,'gaussiano');
fs = imnoise(im,'Sal y pimienta',0.05);
h1=fspecial('Promedio');
media1=imfilter(fg,h1);
8
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
media2=imfilter(fs,h1);
mediana1=medfilt2(fg);
mediana2=medfilt2(fs);
%Representaciones de las imágenes
subplot(2,3,1),subimage(fg),title('Imagen con ruido gaussiano');
subplot(2,3,4),subimage(fs),title('Imagen con ruido aleatorio');
subplot(2,3,2),subimage(media1),title('Filtro media');
subplot(2,3,5),subimage(media2),title('Filtro media');
subplot(2,3,3),subimage(mediana1),title('Filtro mediana');
subplot(2,3,6),subimage(mediana2),title('Filtro mediana');
La imagen es comparada con la imagen con ruido gaussiano y con ruido aleatorio.
Filtro Gaussiano
El filtro Gaussiano se usa para emborronar imágenes y eliminar ruido. Es similar al filtro de
media pero se usa una máscara diferente, se aplican mediante convolución con una
máscara cuyo tamaño y valor depende de la varianza σ, modelizando la función gaussiana:
1 −𝑥 2 +𝑦 2
𝐺(𝑥, 𝑦) = 2
𝑒 𝜎2
2𝜋𝜎
A mayor σ más atenúa y más voluminoso y lento es el filtro.
Mediante σ se afecta a la resolución del filtro, a menos varianza menor cantidad de destalle
que se pierde.
9
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
10
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Imagen 1.6
Se puede apreciar como el filtro gaussiano elimina mucho mejor el ruido y además
emborrona menos los bordes de la imagen.
Filtro de la media
En aplicaciones donde no se puede repetir las mediciones de datos, una estimación que se
usa mucho de las muestra de datos s[n] en el instante n de M mediciones de la muestra de
datos alteradas por el ruido x[l] disponible para el intervalo 𝑛 − 𝑀 + 1 ⩽ 𝑙 ⩽ 𝑛 es el
promedio o media de M puntos y[n] dado por:
𝑀−1
1
𝑦[𝑛] = ∑ 𝑥[𝑛 − 𝑙]
𝑀
𝑙=0
Ec.1.5
Una estimación de la dispersión del valor medio y[n] con respecto al valor real s[n] suele
indicarse mediante la desviación estándar:
∑𝑀−1(𝑥[𝑛] − 𝑦[𝑛])2
𝜎[𝑛] = √ 𝑙=𝑜
𝑀
11
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Ec.1.6
El sistema en tiempo discreto que implementa la ecuación 1.5 se denomina filtro de
promedio de M puntos. En la mayoría de las aplicaciones, el dato x[n] representa una
secuencia acotada y, en consecuencia, el promedio de M puntos y[n] también es una
secuencia acotada. Se concluye de la ecuación 1.6 que si no hay sesgo en las mediciones,
una estimación mejorada de los datos ruidosos se viene si se aumenta simplemente el
número de mediciones de M.
Una implementación directa del filtro de promedio de M puntos de la ecuación 1.5 implica
M-1 sumas, 1 división y el almacenamiento de M-1 muestras de datos de entradas pasada.
A continuación se desarrolla una implementación más eficiente del filtro de promedio. De
acuerdo con la ecuación 1.5:
𝑀−1
1
𝑦[𝑛] = ∑ 𝑥[𝑛 − 𝑙] + 𝑥[𝑛 − 𝑀] − 𝑥[𝑛 − 𝑀]
𝑀
𝑙=0
𝑀
1
𝑦[𝑛] = ∑ 𝑥[𝑛 − 𝑙] + 𝑥[𝑛] − 𝑥[𝑛 − 𝑀]
𝑀
𝑙=1
𝑀−1
1
𝑦[𝑛] = ∑ 𝑥[𝑛 − 1 − 𝑙] + 𝑥[𝑛] − 𝑥[𝑛 − 𝑀]
𝑀
𝑙=0
12
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Código Matlab:
% Filtro promedio
R = 50;
d = rand(R,1)-0.5;
m = 0:1:R-1;
s = 2*m.*(0.9.^m);
x = s + d';
plot(m,d,'r-',m,s,'b--',m,x,'g:')
xlabel('Time index n'); ylabel('Amplitude')
legend('d[n]','s[n]','x[n]');
pause
M = input('Number of input samples = ');
b = ones(M,1)/M;
y = filter(b,1,x);
plot(m,s,'r-',m,y,'b--')
legend('s[n]','y[n]');
xlabel ('Time index n');ylabel('Amplitude')
13
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Para M=9.
14
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
B = imfilter(A,H,option1,option2,...)
Esta función filtra el array A con el filtro multidimensional H, el resultado se almacena en B.
Los parámetros option1, option2,…, son opciones de frontera, de tamaño del array de salida
y opciones de correlación o convolución.
15
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
16
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Conclusión
Se puede concluir que a partir de una imagen es posible manejarla como uno quiera, ya sea
añadiendo ruido o eliminando este si es necesario, en este informe se efectuó el
mejoramiento de las imágenes en donde pueden ser utilizadas para el día a día. Se eliminó
el ruido que no deseamos de las imágenes, estos tipos de filtros son utilizados ampliamente
en la vida diaria de los profesionales en donde es muy útil ocupar el programa MatLab como
procesador de imágenes en el ámbito de filtrado de ellas.
A comparación de estas se pudo observar que el filtro Gaussiano elimino el ruido de mejor
manera al igual que mejorando los bordes de la imagen.
17
UNIVERSIDAD TECNOLÓGICA METROPOLITANA
FACULTAD DE INGENIERÍA
INGENIERÍA CIVIL ELECTRÓNICA
2018
Bibliografía
https://es.wikipedia.org/wiki/MATLAB
http://informatica.uv.es/doctorado/AIRF/ParteAI/tema3.pdf
http://www4.ujaen.es/~satorres/practicas/practica2.pdf
Libro Procesamiento Digital de Señales.
18