SlideShare una empresa de Scribd logo
1 de 72
Filtros espaciales Aplicación del filtro unsharp masking
Vecindades Operaciones sobre vecindades: Son aquellas que se realizan sobre bloques definidos  dentro de la imagen, en vez de procesar toda la imagen
Operaciones basadas  en vecindades Las operaciones se realizan de la siguiente forma: 1.- Se selecciona el píxel a procesar. 2.- Se selecciona el entorno del píxel. 3.- Se aplica una función que depende del valor  de los píxeles del entorno seleccionado 4.- Se altera el píxel de la imagen de salida equivalente  al píxel de la imagen de entrada, por el valor  devuelto por la función. 5.- Repetir de 1 a 4 por cada píxel de la imagen de  entrada.
Operaciones basadas  en vecindades (II) Ejemplo:  Máximo de una vecindad de 3x3 Imagen de entrada (I) Imagen de salida (I1) Lo cual se realizaría con el siguiente programa Matlab >> f=inline('max(x(:))');  % Define función máxima >> I1=nlfilter(I,[3, 3],f);  % Devuelve máximo 6 14 10 10 4 3 11 16 17 20 6 3 11 20 15 10 5 4 13 16 6 2 2 2 11 16 7 3 4 2 6 4 4 2 3 2 16 17 20 20 20 6 20 20 20 20 20 6 20 20 20 20 20 6 20 20 20 15 10 5 16 16 16 7 4 4 16 16 16 7 4 4
Operaciones basadas  en vecindades (III) Ejemplo:  Mínimo de una vecindad de 3x3 Imagen de entrada (I) Imagen de salida (I1) Lo cual se realizaría con el siguiente programa Matlab >> f=inline('min(x(:))'); >> I1=nlfilter(I,[3, 3],f); 6 14 10 10 4 3 11 16 17 20 6 3 11 20 15 10 5 4 13 16 6 2 2 2 11 16 7 3 4 2 6 4 4 2 3 2 0 0 0 0 0 0 0 6 10 4 3 0 0 6 2 2 2 0 0 6 2 2 2 0 0 4 2 2 2 0 0 0 0 0 0 0
Operaciones basadas  en vecindades (IV) El problema del contorno Imagen de entrada Imagen de salida 6 14 10 10 4 3 11 16 17 20 6 3 11 20 15 10 5 4 13 16 6 2 2 2 11 16 7 3 4 2 6 4 4 2 3 2 0 0 0 0 0 0 0 6 10 4 3 0 0 6 2 2 2 0 0 6 2 2 2 0 0 4 2 2 2 0 0 0 0 0 0 0 1 2 3 1  2  3  . . . . . 1  2  3  4  5  n 1 2 3 m . . . . . . . . .
Operaciones basadas  en vecindades (V) Solución : Relleno de píxeles Imagen de entrada Imagen de salida Función:  imfilter  (‘La_imagen.jpg’, máscara,  relleno , salida)  Rellenar contorno sin alterar la imagen original: máscara = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ] ‘ same’: Mismo tamaño imagen original ‘ full’: Tamaño resultante con relleno (mayor) . . . . . 1  2  3  4  5  n 1 2 3 m . . . . . . . . . . . . . . . . 1  2  3  4  5  n 1 2 3 m . . . . . . . . . 1 2 3 1  2  3  . . . . . .
Operaciones basadas  en vecindades (VI) Relleno de una constante f =  1   2    3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 >> imfilter(f,w,25,' full ') w  = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ]
Operaciones basadas  en vecindades (VII) Relleno basado en réplica f =  1   2    3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 >> imfilter(f,w,’ replicate ' ,'full') w  = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ]
Operaciones basadas  en vecindades (VIII) Relleno basado en espejo f =  1   2    3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 >> imfilter(f,w,’  symmetric  ‘,'full') w  = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ]
Operaciones basadas  en vecindades (IX) Tamaño de la  imagen destino f =  1   2    3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 -1  -2  -3  -2  -1  1    2   3   2   1 >> imfilter(f,w,0,’  full ') w  = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ] >> imfilter(f,w,0,’  same ')
[object Object],Filtros espaciales donde: f(x+s, y+t):  Valor de los píxeles del bloque seleccionado w(s, t):  Coeficientes que se aplicarán al bloque (máscara) Siendo la matriz del bloque: m (filas) = 2a + 1 n (columnas) = 2b + 1
[object Object],[object Object],Filtros espaciales (II)
Filtros espaciales (III) Valores de los píxeles del bloque Valores de los píxeles de los coeficientes (máscara)   f(x-1, y-1) f(x-1, y) f(x-1, y+1) f(x, y-1) f(x, y) f(x, y+1) f(x+1, y-1) f(x+1, y) f(x+1, y+1) w(-1, -1) w(-1, 0) w(-1, 1) w(0, -1) w(0, 0) w(0, 1) w(1, -1) w(1, 0) w(1, 1)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Filtros espaciales (IV) Máscara (o filtro) 8  1  6 3  5  7 4  9  2 g(2,4)=1(8)+8(1)+15(6)+7(3)+14(5)+16(7)+13(4)+20(9)+22(2)=585
[object Object],[object Object],[object Object],[object Object],Filtros espaciales (V)
Filtros espaciales (VI) Filtro promedio : Filtro promedio ponderado : Ejemplos de filtros
Filtros espaciales (VII) Forma general Ejemplos de máscaras de filtro promedio ponderado (incluye denominador)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Filtros espaciales (VIII) >> I(1:5,1:5) ans = 6  14  10  10  4 11  16  17  20  6 11  20  15  10  5 13  16  6  2  2 11  16  7  3  4 >> I2(1:5,1:5) ans = 5  6  7  6  5 6  8  9  7  5 8  9  10  9  6 7  8  9  8  5 6  6  7  6  4 Original Resultado
Filtros espaciales (IX) Original
Filtros espaciales (X) Original >> imhist(I) >> imhist(I2)
Filtros espaciales (XI) Método de correlación : Se aplica la máscara tal y como se define Método de convolución : Se rota la máscara 180 grados alrededor  del píxel central, antes de aplicar el filtro Formas de aplicar la máscara f = 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 w = 1 2 3 4 5 6 7 8 9 >> imfilter(f,w,'corr') >> imfilter(f,w,'conv') Imagen Máscara
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Imágenes ruidosas Ruído
[object Object],Imágenes ruidosas (II) G  = 0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 G_ruidosa  = 0.1337 0.9859 1.0447 1.0773 -0.5392 1.0712 0.0547 0.0860 -0.0817 0.9028 0.6783 0.0299 0.3474 -0.0147 0.1335 1.2666 0.0991 0.3885 -0.2928 0.1002 1.0181 -0.0948 0.0390 0.8881 0.9455 0.8147 0.0208 0.4779 0.1484 1.2493 -0.2367 0.9407 1.0204 1.0842 -0.2981 >>[R,Q] = size(G); >>G_ruidosa  = G + randn(R,Q)*0.2
Imágenes ruidosas (III) % Ruido gausiano   >> s = 15;          % Desviación estándar   >> s = s/255;      % Se normaliza a [0,1]  >> II = imnoise(road,'gaussian',0,s^2);  % media 0, varianza (15^2)
Imágenes ruidosas (IV) III=imnoise(I,'poisson');
Imágenes ruidosas (V) IV=imnoise(I,'salt & pepper');
Imágenes ruidosas (VI) V=imnoise(I,'speckle');
Supresión de ruido  con  filtro promedio IV=imnoise(I,'salt & pepper'); >> w=ones(3,3)/9; >> I2=imfilter(I,w);
Filtro Laplaciano Este tipo de filtro se basa en un  operador derivativo , por lo que  acentúa las zonas que tienen gran discontinuidad  en la imagen, destacando detalles finos, bordes y discontinuidades
Filtro Laplaciano (II) Si se cumple: Entonces: Si la función depende de dos variables
Filtro Laplaciano (III) Función dependiente de dos variables La derivada de segundo orden con respecto a al variable x: De forma similar, con respecto a y: Finalmente:
Filtro Laplaciano (IV) El Laplaciano queda definido por: La anterior expresión es equivalente a aplicar una  máscara definida por: w = 0  1  0 1  -4  1 0  1  0
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Filtro Laplaciano (V) Alternativa: >> I=imread('moon.tif'); >>  w=fspecial('laplacian',0); >> I2=imfilter(I,w,'replicate');
Filtro Laplaciano (VI) Imágenes : www.imageprecessingplace.com
Filtro Laplaciano (VII) w = 0  1  0 1  -4  1 0  1  0 w = 1  1  1 1  -8  1 1  1  1 Si se desea considerar las variaciones con respecto a la diagonal +1 -4 w = -1  -1  -1 -1  8  -1 -1  -1  -1 También se utiliza el negado de las anteriores máscaras w = 0  -1  0 -1  4  -1 0  -1  0
Filtros Laplacianos alternativos  ,[object Object],[object Object],[object Object],Sumar o restar el Laplaciano de la imagen dependiendo del signo del coeficiente central de la máscara utilizada Coeficiente central de la máscara negativo Coeficiente central de la máscara positivo Se utiliza para realzar una imagen
Filtros Laplacianos alternativos (II) Resultado de sustraer el Laplaciano (una única máscara) Incluye  diagonal
Filtro Gaussiano La máscara o filtro que responde a: ó Siendo la matriz del bloque: m (filas) = 2a + 1 n (columnas) = 2b + 1
Filtro Gaussiano (II) Influencia del parámetro  
Filtro Gaussiano (III) ,[object Object],[object Object],%Define máscara >> fspecial('gaussian',3,0.5) ans = 0.0113 0.0838 0.0113 0.0838 0.6193 0.0838 0.0113 0.0838 0.0113 % Máscara y filtro >> w=fspecial(‘gaussian',3,0.5); >> I2=imfilter(I,w,'replicate'); 0.0478 0.1163 0.0478 0.1163 0.2829 0.1163 0.0478 0.1163 0.0478
Laplaciana de la gausiana
Laplaciana de la gausiana (II) >> w=fspecial('log',5,0.4) ans = 0.2475  0.2475  0.2479  0.2475  0.2475 0.2475  0.3545  1.2336  0.3545  0.2475 0.2479  1.2336 -10.31   1.2336  0.2479 0.2475  0.3545  1.2336  0.3545  0.2475 0.2475  0.2475  0.2479  0.2475  0.2475 >>surf(w)  >>surf(-w)
Laplaciana de la gausiana (III) >> w=fspecial('log',5,0.4) >> [x, y]=meshgrid(-2:1:2) >> [xi, yi]=meshgrid(-2:.05:2); >> zi = interp2(x,y,z,xi,yi); >> surf(xi,yi,zi) Mejorando detalles del tipo de filtros
Máscaras con  fspecial >> w = fspecial('disk',4) Promedio >> w = fspecial('average',5) w = 0.0400  0.0400  0.0400  0.0400  0.0400 0.0400  0.0400  0.0400  0.0400  0.0400 0.0400  0.0400  0.0400  0.0400  0.0400 0.0400  0.0400  0.0400  0.0400  0.0400 0.0400  0.0400  0.0400  0.0400  0.0400 >> 1/25 ans = 0.0400 Disco
Ejemplo:  Promedio >> w=fspecial('average');
Máscaras con  fspecial  (II) >> z = fspecial('log',5,0.7) Gausiana >>z = fspecial('gaussian',5,0.7) Laplaciana de la gausiana
Ejemplo:  Filtro Gaussiano >> w=fspecial('gaussian');
Máscaras con  fspecial  (III) >> z = fspecial('unsharp',0.3) Laplaciana >>z = z = fspecial('laplacian',0.3) Mejora de contraste >> fspecial('laplacian',0) 0  1  0 1  -4  1 0  1  0 >> fspecial('unsharp',0) 0  -1  0 -1  5  -1 0  -1  0
Filtro para acentuar contraste  >> w=fspecial('unsharp');
Acentuar transiciones horizontales y verticales Prewit :  Acentuar transiciones horizontales  Máscara:  w =   [ 1  1  1   0  0  0   -1  -1  -1] Sobel :  Acentuar transiciones horizontales  Máscara:  w =   [1  2  1   0  0  0   -1  -2  -1] Acentuar transiciones verticales : Transpuesta de la matriz Máscaras con  fspecial  (IV)
Ejemplo:  Filtro Prewit >> w=fspecial('prewitt');
Ejemplo:  Filtro Sobel >> w=fspecial('sobel'); >> hp=transp(w);  % Acentúa vertical
Filtros no lineales Filtro lineal Filtro no lineal Valor de los píxeles 17  24  1  8  15 23  5  7  14  16 4  6  13  20  22 10  12  19  21  3 11  18  25  2  9 Bloque de píxeles 1  1  1 1  1  1 1  1  1 >>B = nlfilter(A, [m n], función_nl) Aplicación  Supresión de ruido
Ejemplo de aplicación  de filtro no lineal Sea:  - S xy  La región de la imagen  - (x,y)  Centro de la región -  f’(x,y)  La salida del filtro (escalar) Filtro de  Media aritmética   A = imread(‘imagen.jpg'); fun = @(x) mean(x(:)); B = nlfilter(A,[3 3],fun); A = 1  2  3 4  5  6 7  8  9 B = 1.3333  2.3333  1.7778 3.0000  5.0000  3.6667 2.6667  4.3333  3.1111
Ejemplo de  Filtro de Media aritmética   Filtros no lineales (II)
Filtro de  Media geométrica   Filtro de  Media armónica   Función spfilt :  Gonzáles, R.; Woods, R.; Eddins, S.:  Digital Image Processing Using Matlab . 2004 Filtros no lineales (III)
Ejemplo de  Filtro de Media geométrica  ( I2=spfilt(I, 'gmean', 3, 3); )   Filtros no lineales (IV)
Ejemplo de  Filtro de Media armónica   >> I2=uint8(3*3./imfilter(1./I, ones(3, 3), 'symmetric')) Filtros no lineales (V)
Filtro de  Media Contra-armónica   Filtro de  Punto medio   Filtros no lineales (VI) Filtro de máximo   (aclara) Filtro de mínimo   (oscurece)
Ejemplo de  Filtro de  Media Contra-armónica   ( I2=spfilt(I, 'chmean‘,3, 3); )   Filtros no lineales (VII)
Ejemplo de  Filtro de  Punto medio   >> d1=ordfilt2(I, 1, ones(3, 3), 'symmetric');  % Mínimo >> d2=ordfilt2(I, 3*3, ones(3, 3), 'symmetric');  % Máximo >> I1=uint8(1/2*(d2+d1)); Filtros no lineales (VIII)
Filtro Mediana Filtros no lineales (IX) Valor de los píxeles 17  24  1  8  15 23  5  7  40  16 4  6  13  20  22 10  12  19  21  3 11  18  25  2  9 1.- Se ordenan 1  7  8  13  15  16  20  22  40 2.- Se selecciona el central 17  24  1  8  15 23  5  7  15   16 4  6  13  20  22 10  12  19  21  3 11  18  25  2  9 Número par de píxeles La media de los dos  píxeles centrales
¿Cuál filtro utilizar? >>I=imread( 'contornos.tif' );  % Se determinan los bordes verticales >> II=edge(I, 'sobel', 'vertical'); imshow(II) Verificar como se difuminan los bordes después de aplicar el filtro
¿Cuál filtro utilizar? (II) % Se aplica ruido a la imagen >> III=imnoise(I,'salt & pepper',0.005); % Se aplica el filtro mediana y se detectan bordes verticales >> IV=medfilt2(III); >> V=edge(IV, 'sobel', 'vertical'); imshow(V)
¿Cuál filtro utilizar? (III) % Se aplica el filtro promedio y se detectan bordes verticales >>w=fspecial('average'); >>VI=uint8(imfilter(III, w, 'symmetric')); >> VII=edge(VI, 'sobel', 'vertical'); imshow(VII) % Se aplica el filtro media armónica y se detectan bordes verticales >> VIII=uint8(3*3./imfilter(1./III, ones(3, 3), 'symmetric')); >>IX=edge(VIII, 'sobel', 'vertical'); imshow(IX)
Resultado % Se aplica el filtro punto medio  %y se detectan bordes verticales >> d1=ordfilt2(III, 1, ones(3, 3), 'symmetric'); >> d2=ordfilt2(III, 3*3, ones(3, 3), 'symmetric'); >> X=uint8(1/2*(d2+d1)); >>XI=edge(X, 'sobel', 'vertical'); imshow(XI) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Filtros usando Simulink Filtro mediana Fijar parámetros de simulación
Filtros usando Simulink (II)
Filtros usando Simulink (III) Se define “fspecial’
Filtros usando Simulink (IV)
Filtros usando Simulink (V) Video de una cámara conectada ó archivo.avi : Ver vipedge, sustituir por 2-D FIR Filter

Más contenido relacionado

La actualidad más candente

Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresBertha Vega
 
Amplificador lm741 d.a pd
Amplificador lm741 d.a pdAmplificador lm741 d.a pd
Amplificador lm741 d.a pdFranklin J.
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
Solucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNI
Solucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNISolucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNI
Solucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNIAndy Juan Sarango Veliz
 
Control digital: Teoría y practica parte 2
Control digital: Teoría y practica parte 2Control digital: Teoría y practica parte 2
Control digital: Teoría y practica parte 2SANTIAGO PABLO ALBERTO
 
ingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdf
ingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdfingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdf
ingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdfSANTIAGO PABLO ALBERTO
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlabPercy Julio Chambi Pacco
 
Segmentación por umbralización método de otsu
Segmentación por umbralización   método de otsuSegmentación por umbralización   método de otsu
Segmentación por umbralización método de otsuJorge Antonio Parra Serquen
 
Diseño de amplificador emisor seguidor (colector comun) bjt y simulacion
Diseño de amplificador emisor seguidor (colector comun) bjt y simulacionDiseño de amplificador emisor seguidor (colector comun) bjt y simulacion
Diseño de amplificador emisor seguidor (colector comun) bjt y simulacionMiguel Angel Peña
 
10 transformada fourier
10 transformada fourier10 transformada fourier
10 transformada fourierAlex Jjavier
 
Transformada inversa Fourier
Transformada inversa FourierTransformada inversa Fourier
Transformada inversa Fouriernani1204
 
Método de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MNMétodo de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MNTensor
 
Metodo de la tangente
Metodo de la tangenteMetodo de la tangente
Metodo de la tangentezick_3
 
Método de jacobi
Método de jacobiMétodo de jacobi
Método de jacobiTensor
 

La actualidad más candente (20)

Lógica difusa (fuzzy logic)
Lógica difusa (fuzzy logic)Lógica difusa (fuzzy logic)
Lógica difusa (fuzzy logic)
 
RAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALESRAÍCES DE ECUACIONES NO LINEALES
RAÍCES DE ECUACIONES NO LINEALES
 
Ejercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadoresEjercicios de Multiplexores y decodificadores
Ejercicios de Multiplexores y decodificadores
 
Subrutinas de retardo
Subrutinas de retardoSubrutinas de retardo
Subrutinas de retardo
 
Métodos de diseño filtros IIR
Métodos de diseño filtros IIRMétodos de diseño filtros IIR
Métodos de diseño filtros IIR
 
Amplificador lm741 d.a pd
Amplificador lm741 d.a pdAmplificador lm741 d.a pd
Amplificador lm741 d.a pd
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
Solucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNI
Solucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNISolucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNI
Solucionario Quinta Práctica Calificada de Circuitos Eléctricos I - FIEE UNI
 
Control digital: Teoría y practica parte 2
Control digital: Teoría y practica parte 2Control digital: Teoría y practica parte 2
Control digital: Teoría y practica parte 2
 
ingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdf
ingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdfingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdf
ingeniería de control moderna 5ta Edición Katsuhiko Ogata.pdf
 
Procesamiento digital de señales con matlab
Procesamiento digital de señales con matlabProcesamiento digital de señales con matlab
Procesamiento digital de señales con matlab
 
Segmentación por umbralización método de otsu
Segmentación por umbralización   método de otsuSegmentación por umbralización   método de otsu
Segmentación por umbralización método de otsu
 
Diseño de amplificador emisor seguidor (colector comun) bjt y simulacion
Diseño de amplificador emisor seguidor (colector comun) bjt y simulacionDiseño de amplificador emisor seguidor (colector comun) bjt y simulacion
Diseño de amplificador emisor seguidor (colector comun) bjt y simulacion
 
Taller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDLTaller de Base de Datos - Unidad 2 lenguage DDL
Taller de Base de Datos - Unidad 2 lenguage DDL
 
10 transformada fourier
10 transformada fourier10 transformada fourier
10 transformada fourier
 
DIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPODIAGRAMAS DE TIEMPO
DIAGRAMAS DE TIEMPO
 
Transformada inversa Fourier
Transformada inversa FourierTransformada inversa Fourier
Transformada inversa Fourier
 
Método de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MNMétodo de la regla falsa (o metodo de la falsa posición) MN
Método de la regla falsa (o metodo de la falsa posición) MN
 
Metodo de la tangente
Metodo de la tangenteMetodo de la tangente
Metodo de la tangente
 
Método de jacobi
Método de jacobiMétodo de jacobi
Método de jacobi
 

Destacado

Morfología de las imágenes Matlab
Morfología de las imágenes MatlabMorfología de las imágenes Matlab
Morfología de las imágenes Matlabjhonbri25
 
Segmentación de imagenes
Segmentación de imagenesSegmentación de imagenes
Segmentación de imagenesOmar Sanchez
 
Imagen Morfologicas
Imagen MorfologicasImagen Morfologicas
Imagen MorfologicasOmar Sanchez
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audioRick P
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABINFOVIC
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabmarco calderon layme
 
Imagen e histograma
Imagen e histogramaImagen e histograma
Imagen e histogramaOmar Sanchez
 
Aet17 04 realce de imagenes - filtrado espacial
Aet17 04 realce de imagenes - filtrado espacialAet17 04 realce de imagenes - filtrado espacial
Aet17 04 realce de imagenes - filtrado espacialc09271
 
10 vectores y matrices
10 vectores y matrices10 vectores y matrices
10 vectores y matricesAula Robótica
 
Imagen Fundamentos I
Imagen Fundamentos IImagen Fundamentos I
Imagen Fundamentos IOmar Sanchez
 
Adaptive unsharp masking
Adaptive unsharp maskingAdaptive unsharp masking
Adaptive unsharp maskingRavi Teja
 
RUIDO DIGITAL EN LA FOTOGRAFÍA
RUIDO DIGITAL EN LA FOTOGRAFÍARUIDO DIGITAL EN LA FOTOGRAFÍA
RUIDO DIGITAL EN LA FOTOGRAFÍAJuliana Villamonte
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2a_tamayo
 
Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii
 Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii
Utp pdiva_lab4_procesamiento digital de imagenes con matlab iijcbenitezp
 
Utp va_sl4_procesamiento digital de imagenes con matlab iii
 Utp va_sl4_procesamiento digital de imagenes con matlab iii Utp va_sl4_procesamiento digital de imagenes con matlab iii
Utp va_sl4_procesamiento digital de imagenes con matlab iiijcbenitezp
 
Procesamiento de Imágenes
Procesamiento de ImágenesProcesamiento de Imágenes
Procesamiento de Imágenesdave
 

Destacado (20)

Morfología de las imágenes Matlab
Morfología de las imágenes MatlabMorfología de las imágenes Matlab
Morfología de las imágenes Matlab
 
Segmentación de imagenes
Segmentación de imagenesSegmentación de imagenes
Segmentación de imagenes
 
Imagen Morfologicas
Imagen MorfologicasImagen Morfologicas
Imagen Morfologicas
 
Filtro espacial pasa bajas
Filtro espacial pasa bajasFiltro espacial pasa bajas
Filtro espacial pasa bajas
 
Segmentación de Color con MATLAB
Segmentación de Color con MATLABSegmentación de Color con MATLAB
Segmentación de Color con MATLAB
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
 
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLABPROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
PROCESAMIENTO DIGITAL DE SEÑALES CON MATLAB
 
Muestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLabMuestreo y cuantificación de una señal analógica con MatLab
Muestreo y cuantificación de una señal analógica con MatLab
 
Imagen e histograma
Imagen e histogramaImagen e histograma
Imagen e histograma
 
Aet17 04 realce de imagenes - filtrado espacial
Aet17 04 realce de imagenes - filtrado espacialAet17 04 realce de imagenes - filtrado espacial
Aet17 04 realce de imagenes - filtrado espacial
 
Intro a C#
Intro a C#Intro a C#
Intro a C#
 
Pdi02
Pdi02Pdi02
Pdi02
 
10 vectores y matrices
10 vectores y matrices10 vectores y matrices
10 vectores y matrices
 
Imagen Fundamentos I
Imagen Fundamentos IImagen Fundamentos I
Imagen Fundamentos I
 
Adaptive unsharp masking
Adaptive unsharp maskingAdaptive unsharp masking
Adaptive unsharp masking
 
RUIDO DIGITAL EN LA FOTOGRAFÍA
RUIDO DIGITAL EN LA FOTOGRAFÍARUIDO DIGITAL EN LA FOTOGRAFÍA
RUIDO DIGITAL EN LA FOTOGRAFÍA
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii
 Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii
Utp pdiva_lab4_procesamiento digital de imagenes con matlab ii
 
Utp va_sl4_procesamiento digital de imagenes con matlab iii
 Utp va_sl4_procesamiento digital de imagenes con matlab iii Utp va_sl4_procesamiento digital de imagenes con matlab iii
Utp va_sl4_procesamiento digital de imagenes con matlab iii
 
Procesamiento de Imágenes
Procesamiento de ImágenesProcesamiento de Imágenes
Procesamiento de Imágenes
 

Similar a Imagen Filtrado Espacial

Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2jcbp_peru
 
Utp pdi_2014-2 lab2
 Utp pdi_2014-2 lab2 Utp pdi_2014-2 lab2
Utp pdi_2014-2 lab2jcbp_peru
 
tema 3-1 Filtros.pdf
tema 3-1 Filtros.pdftema 3-1 Filtros.pdf
tema 3-1 Filtros.pdfErnestoCorts8
 
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)Jorge Antonio Parra Serquen
 
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816Jorge Antonio Parra Serquen
 
Zoom de una imagen
Zoom de una imagenZoom de una imagen
Zoom de una imagenlmarchenac01
 
tema 3-2 Algoritmos de realce.pdf
tema 3-2 Algoritmos de realce.pdftema 3-2 Algoritmos de realce.pdf
tema 3-2 Algoritmos de realce.pdfErnestoCorts8
 
Practica2[Pds][Reporte]
Practica2[Pds][Reporte]Practica2[Pds][Reporte]
Practica2[Pds][Reporte]Edgar Martinez
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2jcbp_peru
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento yviisonartificial2012
 
Transformada discreta de fourier en imagenes
Transformada discreta de fourier en  imagenesTransformada discreta de fourier en  imagenes
Transformada discreta de fourier en imagenesDayana Guzman
 
P iy va_2012-2_balotario de preguntas pc3
P iy va_2012-2_balotario de preguntas pc3P iy va_2012-2_balotario de preguntas pc3
P iy va_2012-2_balotario de preguntas pc3jcbenitezp
 
P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3jcbenitezp
 
P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3jcbenitezp
 
Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2Marc Llanos
 
Utp pd_iy_va_sap9 filtrado espacial
 Utp pd_iy_va_sap9 filtrado espacial Utp pd_iy_va_sap9 filtrado espacial
Utp pd_iy_va_sap9 filtrado espacialjcbp_peru
 
SEMANA 3- SESIÓN 1- MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptx
SEMANA 3- SESIÓN 1-   MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptxSEMANA 3- SESIÓN 1-   MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptx
SEMANA 3- SESIÓN 1- MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptxOrlandoApazagomez1
 

Similar a Imagen Filtrado Espacial (20)

Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Utp pdi_2014-2 lab2
 Utp pdi_2014-2 lab2 Utp pdi_2014-2 lab2
Utp pdi_2014-2 lab2
 
Diseño e implementacion.pptx
Diseño e implementacion.pptxDiseño e implementacion.pptx
Diseño e implementacion.pptx
 
tema 3-1 Filtros.pdf
tema 3-1 Filtros.pdftema 3-1 Filtros.pdf
tema 3-1 Filtros.pdf
 
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816 (1)
 
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
Dialnet estudio delefectodelasmascarasdeconvolucionenimagen-4902816
 
Zoom de una imagen
Zoom de una imagenZoom de una imagen
Zoom de una imagen
 
tema 3-2 Algoritmos de realce.pdf
tema 3-2 Algoritmos de realce.pdftema 3-2 Algoritmos de realce.pdf
tema 3-2 Algoritmos de realce.pdf
 
Practica2[Pds][Reporte]
Practica2[Pds][Reporte]Practica2[Pds][Reporte]
Practica2[Pds][Reporte]
 
Utp 2015-2_pdi_lab2
 Utp 2015-2_pdi_lab2 Utp 2015-2_pdi_lab2
Utp 2015-2_pdi_lab2
 
Sistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento ySistema de visión artificial para el reconocimiento y
Sistema de visión artificial para el reconocimiento y
 
Transformada discreta de fourier en imagenes
Transformada discreta de fourier en  imagenesTransformada discreta de fourier en  imagenes
Transformada discreta de fourier en imagenes
 
Unidad 05
Unidad 05Unidad 05
Unidad 05
 
P5pds
P5pdsP5pds
P5pds
 
P iy va_2012-2_balotario de preguntas pc3
P iy va_2012-2_balotario de preguntas pc3P iy va_2012-2_balotario de preguntas pc3
P iy va_2012-2_balotario de preguntas pc3
 
P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3
 
P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3P iy va_2011-2_balotario de preguntas pc3
P iy va_2011-2_balotario de preguntas pc3
 
Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2Experiencia de laboratorio_no_2
Experiencia de laboratorio_no_2
 
Utp pd_iy_va_sap9 filtrado espacial
 Utp pd_iy_va_sap9 filtrado espacial Utp pd_iy_va_sap9 filtrado espacial
Utp pd_iy_va_sap9 filtrado espacial
 
SEMANA 3- SESIÓN 1- MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptx
SEMANA 3- SESIÓN 1-   MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptxSEMANA 3- SESIÓN 1-   MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptx
SEMANA 3- SESIÓN 1- MATEMATICA 2.0 -U.C- 2024 -1 -TIPOS DE FUNCIONES.pptx
 

Más de Omar Sanchez

Assembly programming II
Assembly programming IIAssembly programming II
Assembly programming IIOmar Sanchez
 
Assembly programming
Assembly programmingAssembly programming
Assembly programmingOmar Sanchez
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler ProgrammingOmar Sanchez
 
Functions for Nano 5 Card
Functions for Nano 5 CardFunctions for Nano 5 Card
Functions for Nano 5 CardOmar Sanchez
 
Ejemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametricaEjemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametricaOmar Sanchez
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericosOmar Sanchez
 
Referencias MATLAB
Referencias MATLABReferencias MATLAB
Referencias MATLABOmar Sanchez
 
Control Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionControl Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionOmar Sanchez
 
Funciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiFunciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiOmar Sanchez
 
Sensores de robots
Sensores de robotsSensores de robots
Sensores de robotsOmar Sanchez
 
Vehiculos no tripulados
Vehiculos no tripuladosVehiculos no tripulados
Vehiculos no tripuladosOmar Sanchez
 
Algunos aspectos de estabilidad
Algunos aspectos de estabilidadAlgunos aspectos de estabilidad
Algunos aspectos de estabilidadOmar Sanchez
 
Control basado en modelo
Control basado en modeloControl basado en modelo
Control basado en modeloOmar Sanchez
 
Algunas consideraciones
Algunas consideracionesAlgunas consideraciones
Algunas consideracionesOmar Sanchez
 

Más de Omar Sanchez (20)

Assembler4
Assembler4Assembler4
Assembler4
 
Assembly programming II
Assembly programming IIAssembly programming II
Assembly programming II
 
Assembly programming
Assembly programmingAssembly programming
Assembly programming
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler Programming
 
Functions for Nano 5 Card
Functions for Nano 5 CardFunctions for Nano 5 Card
Functions for Nano 5 Card
 
Ejemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametricaEjemplos de modelos basados en adaptacion parametrica
Ejemplos de modelos basados en adaptacion parametrica
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
 
Ensamblador
EnsambladorEnsamblador
Ensamblador
 
Nano5 features
Nano5 featuresNano5 features
Nano5 features
 
Referencias MATLAB
Referencias MATLABReferencias MATLAB
Referencias MATLAB
 
Control Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po RealimentacionControl Modelo de Referencia y Linealizacion po Realimentacion
Control Modelo de Referencia y Linealizacion po Realimentacion
 
Fundposori
FundposoriFundposori
Fundposori
 
Funciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en KrasovskiiFunciones de Lyapunov basado en Krasovskii
Funciones de Lyapunov basado en Krasovskii
 
Sensores de robots
Sensores de robotsSensores de robots
Sensores de robots
 
Vehiculos no tripulados
Vehiculos no tripuladosVehiculos no tripulados
Vehiculos no tripulados
 
Algunos aspectos de estabilidad
Algunos aspectos de estabilidadAlgunos aspectos de estabilidad
Algunos aspectos de estabilidad
 
Control basado en modelo
Control basado en modeloControl basado en modelo
Control basado en modelo
 
Grupos próximos
Grupos próximosGrupos próximos
Grupos próximos
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
Algunas consideraciones
Algunas consideracionesAlgunas consideraciones
Algunas consideraciones
 

Imagen Filtrado Espacial

  • 1. Filtros espaciales Aplicación del filtro unsharp masking
  • 2. Vecindades Operaciones sobre vecindades: Son aquellas que se realizan sobre bloques definidos dentro de la imagen, en vez de procesar toda la imagen
  • 3. Operaciones basadas en vecindades Las operaciones se realizan de la siguiente forma: 1.- Se selecciona el píxel a procesar. 2.- Se selecciona el entorno del píxel. 3.- Se aplica una función que depende del valor de los píxeles del entorno seleccionado 4.- Se altera el píxel de la imagen de salida equivalente al píxel de la imagen de entrada, por el valor devuelto por la función. 5.- Repetir de 1 a 4 por cada píxel de la imagen de entrada.
  • 4. Operaciones basadas en vecindades (II) Ejemplo: Máximo de una vecindad de 3x3 Imagen de entrada (I) Imagen de salida (I1) Lo cual se realizaría con el siguiente programa Matlab >> f=inline('max(x(:))'); % Define función máxima >> I1=nlfilter(I,[3, 3],f); % Devuelve máximo 6 14 10 10 4 3 11 16 17 20 6 3 11 20 15 10 5 4 13 16 6 2 2 2 11 16 7 3 4 2 6 4 4 2 3 2 16 17 20 20 20 6 20 20 20 20 20 6 20 20 20 20 20 6 20 20 20 15 10 5 16 16 16 7 4 4 16 16 16 7 4 4
  • 5. Operaciones basadas en vecindades (III) Ejemplo: Mínimo de una vecindad de 3x3 Imagen de entrada (I) Imagen de salida (I1) Lo cual se realizaría con el siguiente programa Matlab >> f=inline('min(x(:))'); >> I1=nlfilter(I,[3, 3],f); 6 14 10 10 4 3 11 16 17 20 6 3 11 20 15 10 5 4 13 16 6 2 2 2 11 16 7 3 4 2 6 4 4 2 3 2 0 0 0 0 0 0 0 6 10 4 3 0 0 6 2 2 2 0 0 6 2 2 2 0 0 4 2 2 2 0 0 0 0 0 0 0
  • 6. Operaciones basadas en vecindades (IV) El problema del contorno Imagen de entrada Imagen de salida 6 14 10 10 4 3 11 16 17 20 6 3 11 20 15 10 5 4 13 16 6 2 2 2 11 16 7 3 4 2 6 4 4 2 3 2 0 0 0 0 0 0 0 6 10 4 3 0 0 6 2 2 2 0 0 6 2 2 2 0 0 4 2 2 2 0 0 0 0 0 0 0 1 2 3 1 2 3 . . . . . 1 2 3 4 5 n 1 2 3 m . . . . . . . . .
  • 7. Operaciones basadas en vecindades (V) Solución : Relleno de píxeles Imagen de entrada Imagen de salida Función: imfilter (‘La_imagen.jpg’, máscara, relleno , salida) Rellenar contorno sin alterar la imagen original: máscara = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ] ‘ same’: Mismo tamaño imagen original ‘ full’: Tamaño resultante con relleno (mayor) . . . . . 1 2 3 4 5 n 1 2 3 m . . . . . . . . . . . . . . . . 1 2 3 4 5 n 1 2 3 m . . . . . . . . . 1 2 3 1 2 3 . . . . . .
  • 8. Operaciones basadas en vecindades (VI) Relleno de una constante f =  1   2   3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 >> imfilter(f,w,25,' full ') w = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ]
  • 9. Operaciones basadas en vecindades (VII) Relleno basado en réplica f =  1   2   3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 >> imfilter(f,w,’ replicate ' ,'full') w = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ]
  • 10. Operaciones basadas en vecindades (VIII) Relleno basado en espejo f =  1   2   3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 >> imfilter(f,w,’ symmetric ‘,'full') w = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ]
  • 11. Operaciones basadas en vecindades (IX) Tamaño de la imagen destino f =  1   2   3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 -1 -2 -3 -2 -1  1   2  3   2  1 >> imfilter(f,w,0,’ full ') w = [ 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ] >> imfilter(f,w,0,’ same ')
  • 12.
  • 13.
  • 14. Filtros espaciales (III) Valores de los píxeles del bloque Valores de los píxeles de los coeficientes (máscara) f(x-1, y-1) f(x-1, y) f(x-1, y+1) f(x, y-1) f(x, y) f(x, y+1) f(x+1, y-1) f(x+1, y) f(x+1, y+1) w(-1, -1) w(-1, 0) w(-1, 1) w(0, -1) w(0, 0) w(0, 1) w(1, -1) w(1, 0) w(1, 1)
  • 15.
  • 16.
  • 17. Filtros espaciales (VI) Filtro promedio : Filtro promedio ponderado : Ejemplos de filtros
  • 18. Filtros espaciales (VII) Forma general Ejemplos de máscaras de filtro promedio ponderado (incluye denominador)
  • 19.
  • 21. Filtros espaciales (X) Original >> imhist(I) >> imhist(I2)
  • 22. Filtros espaciales (XI) Método de correlación : Se aplica la máscara tal y como se define Método de convolución : Se rota la máscara 180 grados alrededor del píxel central, antes de aplicar el filtro Formas de aplicar la máscara f = 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 w = 1 2 3 4 5 6 7 8 9 >> imfilter(f,w,'corr') >> imfilter(f,w,'conv') Imagen Máscara
  • 23.
  • 24.
  • 25. Imágenes ruidosas (III) % Ruido gausiano >> s = 15;          % Desviación estándar >> s = s/255;      % Se normaliza a [0,1] >> II = imnoise(road,'gaussian',0,s^2); % media 0, varianza (15^2)
  • 26. Imágenes ruidosas (IV) III=imnoise(I,'poisson');
  • 27. Imágenes ruidosas (V) IV=imnoise(I,'salt & pepper');
  • 28. Imágenes ruidosas (VI) V=imnoise(I,'speckle');
  • 29. Supresión de ruido con filtro promedio IV=imnoise(I,'salt & pepper'); >> w=ones(3,3)/9; >> I2=imfilter(I,w);
  • 30. Filtro Laplaciano Este tipo de filtro se basa en un operador derivativo , por lo que acentúa las zonas que tienen gran discontinuidad en la imagen, destacando detalles finos, bordes y discontinuidades
  • 31. Filtro Laplaciano (II) Si se cumple: Entonces: Si la función depende de dos variables
  • 32. Filtro Laplaciano (III) Función dependiente de dos variables La derivada de segundo orden con respecto a al variable x: De forma similar, con respecto a y: Finalmente:
  • 33. Filtro Laplaciano (IV) El Laplaciano queda definido por: La anterior expresión es equivalente a aplicar una máscara definida por: w = 0 1 0 1 -4 1 0 1 0
  • 34.
  • 35. Filtro Laplaciano (VI) Imágenes : www.imageprecessingplace.com
  • 36. Filtro Laplaciano (VII) w = 0 1 0 1 -4 1 0 1 0 w = 1 1 1 1 -8 1 1 1 1 Si se desea considerar las variaciones con respecto a la diagonal +1 -4 w = -1 -1 -1 -1 8 -1 -1 -1 -1 También se utiliza el negado de las anteriores máscaras w = 0 -1 0 -1 4 -1 0 -1 0
  • 37.
  • 38. Filtros Laplacianos alternativos (II) Resultado de sustraer el Laplaciano (una única máscara) Incluye diagonal
  • 39. Filtro Gaussiano La máscara o filtro que responde a: ó Siendo la matriz del bloque: m (filas) = 2a + 1 n (columnas) = 2b + 1
  • 40. Filtro Gaussiano (II) Influencia del parámetro 
  • 41.
  • 42. Laplaciana de la gausiana
  • 43. Laplaciana de la gausiana (II) >> w=fspecial('log',5,0.4) ans = 0.2475  0.2475  0.2479  0.2475  0.2475 0.2475  0.3545  1.2336  0.3545  0.2475 0.2479  1.2336 -10.31   1.2336  0.2479 0.2475  0.3545  1.2336  0.3545  0.2475 0.2475  0.2475  0.2479  0.2475  0.2475 >>surf(w) >>surf(-w)
  • 44. Laplaciana de la gausiana (III) >> w=fspecial('log',5,0.4) >> [x, y]=meshgrid(-2:1:2) >> [xi, yi]=meshgrid(-2:.05:2); >> zi = interp2(x,y,z,xi,yi); >> surf(xi,yi,zi) Mejorando detalles del tipo de filtros
  • 45. Máscaras con fspecial >> w = fspecial('disk',4) Promedio >> w = fspecial('average',5) w = 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 0.0400 >> 1/25 ans = 0.0400 Disco
  • 46. Ejemplo: Promedio >> w=fspecial('average');
  • 47. Máscaras con fspecial (II) >> z = fspecial('log',5,0.7) Gausiana >>z = fspecial('gaussian',5,0.7) Laplaciana de la gausiana
  • 48. Ejemplo: Filtro Gaussiano >> w=fspecial('gaussian');
  • 49. Máscaras con fspecial (III) >> z = fspecial('unsharp',0.3) Laplaciana >>z = z = fspecial('laplacian',0.3) Mejora de contraste >> fspecial('laplacian',0) 0 1 0 1 -4 1 0 1 0 >> fspecial('unsharp',0) 0 -1 0 -1 5 -1 0 -1 0
  • 50. Filtro para acentuar contraste >> w=fspecial('unsharp');
  • 51. Acentuar transiciones horizontales y verticales Prewit : Acentuar transiciones horizontales Máscara: w = [ 1 1 1 0 0 0 -1 -1 -1] Sobel : Acentuar transiciones horizontales Máscara: w = [1 2 1 0 0 0 -1 -2 -1] Acentuar transiciones verticales : Transpuesta de la matriz Máscaras con fspecial (IV)
  • 52. Ejemplo: Filtro Prewit >> w=fspecial('prewitt');
  • 53. Ejemplo: Filtro Sobel >> w=fspecial('sobel'); >> hp=transp(w); % Acentúa vertical
  • 54. Filtros no lineales Filtro lineal Filtro no lineal Valor de los píxeles 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 Bloque de píxeles 1 1 1 1 1 1 1 1 1 >>B = nlfilter(A, [m n], función_nl) Aplicación Supresión de ruido
  • 55. Ejemplo de aplicación de filtro no lineal Sea: - S xy La región de la imagen - (x,y) Centro de la región - f’(x,y) La salida del filtro (escalar) Filtro de Media aritmética A = imread(‘imagen.jpg'); fun = @(x) mean(x(:)); B = nlfilter(A,[3 3],fun); A = 1 2 3 4 5 6 7 8 9 B = 1.3333 2.3333 1.7778 3.0000 5.0000 3.6667 2.6667 4.3333 3.1111
  • 56. Ejemplo de Filtro de Media aritmética Filtros no lineales (II)
  • 57. Filtro de Media geométrica Filtro de Media armónica Función spfilt : Gonzáles, R.; Woods, R.; Eddins, S.: Digital Image Processing Using Matlab . 2004 Filtros no lineales (III)
  • 58. Ejemplo de Filtro de Media geométrica ( I2=spfilt(I, 'gmean', 3, 3); ) Filtros no lineales (IV)
  • 59. Ejemplo de Filtro de Media armónica >> I2=uint8(3*3./imfilter(1./I, ones(3, 3), 'symmetric')) Filtros no lineales (V)
  • 60. Filtro de Media Contra-armónica Filtro de Punto medio Filtros no lineales (VI) Filtro de máximo (aclara) Filtro de mínimo (oscurece)
  • 61. Ejemplo de Filtro de Media Contra-armónica ( I2=spfilt(I, 'chmean‘,3, 3); ) Filtros no lineales (VII)
  • 62. Ejemplo de Filtro de Punto medio >> d1=ordfilt2(I, 1, ones(3, 3), 'symmetric'); % Mínimo >> d2=ordfilt2(I, 3*3, ones(3, 3), 'symmetric'); % Máximo >> I1=uint8(1/2*(d2+d1)); Filtros no lineales (VIII)
  • 63. Filtro Mediana Filtros no lineales (IX) Valor de los píxeles 17 24 1 8 15 23 5 7 40 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 1.- Se ordenan 1 7 8 13 15 16 20 22 40 2.- Se selecciona el central 17 24 1 8 15 23 5 7 15 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 Número par de píxeles La media de los dos píxeles centrales
  • 64. ¿Cuál filtro utilizar? >>I=imread( 'contornos.tif' ); % Se determinan los bordes verticales >> II=edge(I, 'sobel', 'vertical'); imshow(II) Verificar como se difuminan los bordes después de aplicar el filtro
  • 65. ¿Cuál filtro utilizar? (II) % Se aplica ruido a la imagen >> III=imnoise(I,'salt & pepper',0.005); % Se aplica el filtro mediana y se detectan bordes verticales >> IV=medfilt2(III); >> V=edge(IV, 'sobel', 'vertical'); imshow(V)
  • 66. ¿Cuál filtro utilizar? (III) % Se aplica el filtro promedio y se detectan bordes verticales >>w=fspecial('average'); >>VI=uint8(imfilter(III, w, 'symmetric')); >> VII=edge(VI, 'sobel', 'vertical'); imshow(VII) % Se aplica el filtro media armónica y se detectan bordes verticales >> VIII=uint8(3*3./imfilter(1./III, ones(3, 3), 'symmetric')); >>IX=edge(VIII, 'sobel', 'vertical'); imshow(IX)
  • 67.
  • 68. Filtros usando Simulink Filtro mediana Fijar parámetros de simulación
  • 70. Filtros usando Simulink (III) Se define “fspecial’
  • 72. Filtros usando Simulink (V) Video de una cámara conectada ó archivo.avi : Ver vipedge, sustituir por 2-D FIR Filter