Muestreo y cuantificación. transformada de fourier

Solo disponible en BuenasTareas
  • Páginas : 7 (1587 palabras )
  • Descarga(s) : 0
  • Publicado : 13 de diciembre de 2010
Leer documento completo
Vista previa del texto
Departamento de Ingeniería de Comunicaciones

LABORATORIO DE TRATAMIENTO DIGITAL DE IMAGENES

PRÁCTICA 2 Muestreo y Cuantificación Transformada de Fourier

Nombre

Apellidos

Nº Grupo

Muestreo y cuantificación a) Realice la rutina B = submuestrear(A,s), que submuestree (reduzca la resolución) en un factor s una imagen de entrada de 256 niveles de gris especificada por la matriz A ydevuelva el resultado en la matriz B. Asuma que la matriz de entrada, A, tiene de dimensiones potencias de dos y que el factor s es también siempre una potencia de 2. Por ejemplo para una matriz de 256x256 y un factor s=2, deberá devolver una matriz de 128x128 en la que cada pixel se corresponderá con la media de 4 píxeles de la matriz de entrada. Si el factor s valiera 4 el resultado sería unamatriz de 64x64 en la que cada píxel se correspondería con la media de 16 píxeles. Indique a continuación el código resultante. function B=submuestrear(A,s) [N,M]=size(A); x=1; y=1; for i=1:s:(N-s+1) for j=1:s:(M-s+1) B(x,y)=uint8(mean(mean(A(i:i+s-1,j:j+s-1)))); y=y+1; end y=1; x=x+1; end

b) Realice la rutina B = cuantificar(A,s), que cuantifique (reduzca el nº de niveles de gris) con un factors una imagen de entrada de 256 niveles de gris especificada por la matriz A y devuelva el resultado en la matriz B. Asuma que el factor s es también siempre una potencia de 2, de manera que la operación equivalga a eliminar un número variable de bits menos significativos de la representación binaria del nivel de gris. Por ejemplo, especificando un factor s=2, se eliminará el bit menossignificativo y la imagen a devolver tendrá sólo 128 niveles de gris (0,2,4,6....254). Si el factor s valiera 128, se eliminará los 7 bits menos significativos y la imagen de salida sólo tendrá 2 valores (0 y 128). function B=cuantificar(A,s) [N,M]=size(A); niveles=[0:s:255]; for i=1:N for j=1:M B(i,j)=uint8(niveles(uint8((A(i,j)/s)+1))); end end

1

c) Realice sendas rutinas prac2_1(Fichero_imagen) yprac2_2(Fichero_imagen) que utilicen respectivamente las rutinas creadas submuestrear y cuantificar y que pinten cada una de ellas 4 imágenes. Para el caso de submuestreo estas imágenes serán: imagen original, con s=2, con s=4 y con s=8 y para el caso de la cuantificación las imágenes serán: imagen original, con s=16 con s=64 y con s=128. Escriba el código de ambas rutinas y utilícelas con la imagenescalera.bmp ó cascada.bmp. Comente los efectos que se observan cuando se submuestrea y cuantifica una imagen. function pract2_1(fichero_imagen) [A,pal]=imread(fichero_imagen,'bmp'); B=submuestrear(A,2); C=submuestrear(A,4); D=submuestrear(A,8); subplot(2,2,1), image(A), colormap(pal), title(fichero_imagen); subplot(2,2,2), image(B), title('submestreo 2'); subplot(2,2,3), image(C),title('submestreo 4'); subplot(2,2,4), image(D), title('submestreo 8'); ---------Al submestrear sabemos que vamos a tener una pérdida de resolución espacial, la cual podemos observar en el pixelado de la imagen y en la pérdida de la definición de los contornos. ---------function pract2_2(fichero_imagen) [A,pal]=imread(fichero_imagen,'bmp'); B=cuantificar(A,16); C=cuantificar(A,64); D=cuantificar(A,128);subplot(2,2,1), image(A), colormap(pal), title(fichero_imagen); subplot(2,2,2), image(B), title('cuatificado 16'); subplot(2,2,3), image(C), title('cuatificado 64'); subplot(2,2,4), image(D), title('cuatificado 128'); ----------Al cuantificar sabemos que vamos a tener una pérdida de color al tener cada vez menos niveles de gris con los que presentar la imagen en pantalla, donde mejor podemos observarloes en la última imagen, donde sólo diferenciamos dos niveles de gris (gris y negro). -----------

Transformada de Fourier d) Realice una función, espectro(Matriz_Imagen), que pinte el módulo del espectro de una imagen de entrada monocroma de 256 niveles de gris. El origen de frecuencias deberá estar situado en el centro. Utilice las funciones fft2 y fftshif. Ajuste los valores para que el...
tracking img