Matlab - Filtros para imagenes en Matlab

   
Vista:
Imágen de perfil de Carlos

Filtros para imagenes en Matlab

Publicado por Carlos (1 intervención) el 06/02/2015 15:56:40
Buenos dias, compañeros necesito ayuda urgente.

Como hago el filtro de maximos y despues el de minimos sin usar comomandos lo que llevo es esto pero ya no se mas lleva para mostrarlo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
imagen=imread('soldado.jpg');
subplot(2,2,1)
imshow(imagen)
h=rgb2gray(imagen);
subplot(2,2,2)
imshow(h)
g=imnoise(h,'salt & pepper', 0.1);
subplot(2,2,3)
imshow(g)
[m n]=size(g);
im2=double(g);
imf=im2;
for y=2:n-1;
    for x=2:m-1;
    imf(x,y)=max((1/9)*(im2(x-1,y-1)+im2(x,y-1)+im2(x+1,y-1)+im2(x-1,y)+im2(x,y)+im2(x+1,y)+im2(x-1,y+1)+im2(x,y+1)+im2(x+1,y+1)));
    end
end
imf=uint8(imf);
subplot(2,2,4)
imshow(imf)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Matlab
- Código fuente de Matlab
- Cursos de Matlab
- Temas de Matlab
- Chat de Matlab
información
Códigos de Matlab
- DÍAS DE LA SEMANA
- Fixed Pivot
- TRIÁNGULO
Imágen de perfil de Daniel

Filtros para imagenes en Matlab

Publicado por Daniel (212 intervenciones) el 08/02/2015 18:39:39
En general, un filtro sobre una imagen se puede pensar con una matriz de filtro, generalmente cuadrada y "pequeña" (de 3x3 usualmente) que se aplica sobre los elementos circundantes a un pixel y luego se barre sobre todos los pixeles de una imagen.

En tu caso, por lo que entiendo dado un pixel (x,y) especifico debes calcular el máximo (o el minimo) de los puntos que lo rodean en la imagen. Esos puntos y el punto central forman una submatriz de 3x3 (en este caso) que es puede escribir asi:

1
im2((x-1):(x+1),(y-1):(y+1));


luego tu filtro maximo se aplica sobre ella:

1
imf(x,y)=max(max(im2((x-1):(x+1),(y-1):(y+1))));


es la imagen filtrada

Saludos

Daniel

PD: hay algunos detalle adicionales menores respecto de los bordes que si hace falta preguntame y los comento.

Para los que quieran hacer las cosas con comandos de Matlab vean la info de filter2 para filtros de imagen matricial
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar