Preguntasfbffnhnh

13
PREGUNTA 1: Una matriz de datos se entiende por poner ceros y unos a la matriz que se obtiene con el comando imread . %pregunta 1 A= imread('casaimagen.jpg')% con este comando leemos la imagen convirtiendola a matriz imshow('casaimagen.jpg')% con este comando mostramos la imagen a procesar %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Colocando datos en las matrices GR1 = rgb2gray(A);%Con este comando convertiremos la imagen a escala de grises para poder realizar la binarizacion figure, imshow(GR1) %Binarizacion umbral = 175; %definimos un umbral = 175 ya es dato [m,n] = size(GR1); GR1B = zeros(size(GR1)); %le asignamos valor temporal de zeros a GRB1 for i=1:m % con estos dos for barremos todos los pixles de las matrices para ponerlos a ceros y unos for j=1:n if GR1(i,j) >= umbral GR1B(i,j) = 1; else GR1B(i,j) = 0; end end end figure, imshow(GR1B)

description

gngngg

Transcript of Preguntasfbffnhnh

Page 1: Preguntasfbffnhnh

PREGUNTA 1:

Una matriz de datos se entiende por poner ceros y unos a la matriz que se obtiene con el comando imread .

%pregunta 1A= imread('casaimagen.jpg')% con este comando leemos la imagen convirtiendola a matrizimshow('casaimagen.jpg')% con este comando mostramos la imagen a procesar%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Colocando datos en las matrices GR1 = rgb2gray(A);%Con este comando convertiremos la imagen a escala de grises para poder realizar la binarizacion figure, imshow(GR1)%Binarizacion umbral = 175; %definimos un umbral = 175 ya es dato[m,n] = size(GR1);GR1B = zeros(size(GR1)); %le asignamos valor temporal de zeros a GRB1for i=1:m % con estos dos for barremos todos los pixles de las matrices para ponerlos a ceros y unos for j=1:nif GR1(i,j) >= umbralGR1B(i,j) = 1;elseGR1B(i,j) = 0;endendendfigure, imshow(GR1B)

Page 2: Preguntasfbffnhnh

Se obtiene la imagen con ceros y unos

PREGUNTA 2:

Para convertir a monocromático o escala de grises utilizamos el comando rgb2gray

I=imread('casaimagen.jpg') % lee una imagen

A= rgb2gray(I) %convirtiendo a escala de grises

figure, imshow(A) %poniendo figure , y luego imshow(A)

mostramos la imagen que se obtiene

Imagen a escala de grises o monocromática

Page 3: Preguntasfbffnhnh

PREGUNTA 3:

I=imread('casaimagen.jpg') % lee una imagen indexada o con

intensidad

A = rgb2gray(I) %convertimos a escala de grises para que el comando

fft2 pueda usarse

ima_out =fft2(A) %aplicamos el comando fft2 guardamos en ima_out

el resultado de aplicar fft2

%E=abs(ima_out);

figure, imshow(abs(ima_out),[]) % abs mostrara la magnitud donde []

significa los valores de intensidad

colorbar %leyenda barra de colores con valores numericos

figure, imshow(angle(ima_out),[])%angle mostrara la fase donde []

significa los valores de intensidad

colorbar

Magnitud después de aplicar la transformada de fourier

Page 4: Preguntasfbffnhnh

Fase después de aplicar la transformada de Fourier

PREGUNTA 4:

%pregunta 4

I=imread('casaimagen.jpg') % lee una imagen indexada o con

intensidad

A = rgb2gray(I) %convertimos a escala de grises

ima_out =fft2(A) % aplicamos la transformada de fourier

c_g_t=ifft2(ima_out); %aplicamos el comando la transformada inversa

de fourier

figure, imshow(c_g_t, [ ]); %desplegamos el resultado en la variable

c_g_t

Page 5: Preguntasfbffnhnh

Resultado que se obtuvo de aplicar la ifft2

Conclusiones:

Como se puede ver si se obtuvo la imagen original en este caso la de escala de grises a partir de aquí se podría obtener la original que se dio.

PREGUNTA 5:

%pregunta5

I=imread('casaimagen.jpg') % lee una imagen indexada o con

intensidad

A = rgb2gray(I) %convertimos a escala de grises ahora este se volvera

imagen original

ima_out =fft2(A) %aplicamos la transformada de fourier

ima_out2=ima_out/3; %dividimos entre 3 ima_out porque asi se pide

c_g_t=ifft2(ima_out2); %aplicamos la transformada inversa de fourier

Page 6: Preguntasfbffnhnh

figure, imshow(c_g_t, [ ]); %desplegamos los resultados [] estos

corchetes indican todo

Resultado de dividir entre y luego aplicar la transformada inversa de

Fourier

Conclusion :

Como se ha convertido en un inicio la imagen original a escala de grises ahora escala de grises se

convertirá en la imagen original se obtuvo la imagen original al aplicar la transformada inversa

pero como se dividió entre 3 a ima_out es decir se dividió entre 3 la parte imaginaria y real un

poco los bordes se distorsionaron pero si se logro obtener la imagen original un poco modificada.

PREGUNTA 6:

%pregunta6

I=imread('casaimagen.jpg') % lee una imagen indexada o con

intensidad

A = rgb2gray(I) %convertimos a escalas de grises

Page 7: Preguntasfbffnhnh

ima_out =fft2(A) %aplicamos el comando de fft2 de la transformada de

fourier

ima_out2=-imag(ima_out); %extraemos solo la parte imaginaria con

imag y la convertimos a negativa

c_g_t=ifft2(ima_out2); %aplicamos el comando la transformada

inversa de fourier

figure, imshow(c_g_t, [ ]); %desplegamos el resultado en la variable

c_g_t indicando que queremos ver todo con []

Resultado de cambiar la parte imaginaria a negativa y luego aplicar la transformada inversa

Conclusión :

Como se puede ver en la imagen después de cambiar la parte

imaginaria a negativa que no es entrega el comando fft2 y luego

aplicar la transformada inversa con ifft2 no se puede apreciar nada

ya fue alterada la parte de la frecuencia

Page 8: Preguntasfbffnhnh

PREGUNTA 7:

Sintaxis para filtros especiales

comando filtro especial

h=fspecial(‘average’,[tamaño de ventana])

k=imfilter (Imagen,h)

Para este caso average se llamara gaussiano el tamaño de

ventana sera de 2x2 por enunciado bidimensional .

%pregunta 7

I=imread('casaimagen.jpg');

J = imnoise(I,'gaussian',0.02); % añade ruido a la imagen para ver

mejor el efecto que causa el filtro promedio

h=fspecial('gaussian',[2 2],2); % crea un tipo especial de filtro

gaussian con una ventana de 2x2

K=imfilter(J,h); % aplica el filtro gaussiano

imshow(J)%despliega la imagen original

figure, imshow(K) %despliega la imagen con el filtro gaussiano

Page 9: Preguntasfbffnhnh

Imagen inicial con ruido

Imagen sin ruido aplicándole el filtro gaussiano

Page 10: Preguntasfbffnhnh

PREGUNTA 8:

Con respecto a la pregunta 7

Para ver la efectividad del filtro se le agrego ruido gaussiano.

Se implemente un filtro de ventana 2x2 bidimensional aplicando el

filtro gaussiano en la imagen final se puede ver que pudo quitar el

ruido introducido.

Con respecto a las demás preguntas:

Un aspecto importante es que el comando fft2 calcula la transformada de Fourier considerando que el origen de los datos es la parte superior izquierda de la imagen esto no representara ningún problema en el punto de vista calculo pero si de visualización como se puede ver en la pregunta 3

La función ifft2 podría retornar pequeños componentes imaginarios resultado de los errores de redondeo de punto flotante como se pudo ver en las preguntas 4, 5 y 6 en el enunciado se pidió manipular algunas partes el resultado dio imágenes un poco distorsionadas y en algunos casos no se podía visualizar nada .

Page 11: Preguntasfbffnhnh