Practicas

Manuales de MATLAB


Imágenes

Prácticas


TEMA 1
Práctica 1: Bandas de Match
Contruya un script de Matlab que cree la imagen del experimento de las Bandas de Mach. Para ello, determine un número de filas y columnas razonable (típicamente 256x256), un número de bandas a observar, y elija los niveles de gris de forma que el rango de intensidades comúnmente empleado (de 0 a 255, correspondiendo el 0 al negro y el 255 al blanco) quede barrido de forma más o menos homogénea. Dote al programa de flexibilidad para poder cambiar el número de bandas a voluntad.
  • Observe el resultado mediante el uso de la orden imshow.
  • Observe el resultado mediante el uso de la orden imagesc.
  • Considere los dos formatos de almacenamiento de imágenes empleado por Matlab: el modo double y el modo uint8. Si A es una imagen en modo double, y B lo es en modo uint8, la relación entre ellas puede ser

    A = double(B)/255;
    B = uint8(round(A*255));

    Considere, en relación con la imagen anteriormente creada, ambos formatos de imagen, observe las diferencias y compare los tamaños en memoria de la imagen en ambos casos.

Práctica 2: Imágenes en color
  • Genere una imagen degradada naranja, de tal modo que la imagen parta de negro izquierda.
  • Para una luminancia dada, dibuje una carta de colores.
  • Cargue una imagen en color y calcule su versión en blanco y negro utilizando:
    • El comando que del toolbox de imagen de MATLAB.
    • La media de las tres componentes.
    • La expresión de la luminancia.
    Compare los resultados obtenidos.
Práctica 3: Creación de una señal sinusoidal.
Se pretende ahora que cree una imagen consistente en una señal sinusoidal acorde con la expresión

I(x, y) = A(y)cos(w(x)x)

con A(y) y w(x) funciones monótonas crecientes. Para mostrar la imagen creada por pantalla puede olvidar cuestiones de normalización de rangos de intensidad empleando un segundo argumento en la orden imshow de la forma siguiente; imshow(A,[]), donde se ha considerado que la imagen se encuentra almacenada en la matriz A. Compruebe el cumplimiento de los fenómenos visuales asociados a este experimento.

Práctica 4: Imágenes indexadas frente a RGB.
Genere de nuevo la imagen degradada naranja del ejercicio 2 pero usando sólo un canal en lugar de 3 y un mapa de bits.

TEMA 2
Problema Tema 2 (PDF). Repaso de sistemas lineales unidimensionales. (ENTREGABLE)
Dibuja cada uno de los resultados del problema anterios utilizando MATLAB. (ENTREGABLE)
Práctica sobre filtrado en tiempo y frecuencia: (ENTREGABLE)
A partir de una imagen I(x,y) calcule su media local mediante la convolución (en el dominio espacial) con una máscara 5x5:

h = ones(5)/25;
If = filter2(h,I);

Realice el filtrado en el dominio de Fourier (mediante una multiplicación) y compare los resultados. Concretamente:

  1. Estudie de manera teórica el problema para el caso de una señal I(x,y) continua. Defina el filtro continuo en el dominio temporal y frecuencial.
  2. Para el caso discreto, calcule su transformada de Fourier continua teórica. Represente la transformada teórica muestreada frente a la FFT.
  3. De manera práctica, para el caso discreto, estudie el problema de rellenar con zeros, las diferencias de tamaños entre la señal en espacio y en Fourier, el efecto del borde y la posición del centro en la transformada de Fourier. Estudie también el efecto de bordes al tener 2 señales limitadas.
  4. Exponga el proceso completo a realizar para que el filtrado en espacio y en frecuencia sean tomalmente equivalentes.

TEMA 3
A partir de una imagen en blanco y negro de un tamaño suficiente, simule un sumuestreo de la imagen y un cambio en los niveles empleados para su cuantificación. Evalúe la calidad visual frente al tamaño de la imagen.
A partir de una imagen en color, pásela a formato HSV. Una vez allí submuestree el espacio de color, dejando información de luminancia. Compruebe las variaciones en la percepción de la imagen. De manera análoga, en una imagen RGB submuestree uno de los canales. Compruebe cuál es el más invariante a submuestreo (en términos de percepción)
Simulación de la visión de los insectos.
En la siguiente práctica se trabajará con un sistema distinto de referencia de color. Se simulará un sistema de visión de un insecto siguiendo un modelo de transferencia simple:

[R G B] = [G B UV]

donde UV es la componente ultravioleta. Para obtener las componentes se realizan dos adquisiciones: una normal, con la que se obtienen las componentes RGB y una con un filtro especial, cuyo canal B se corresponde con el canal UV de la imagen final.

(1) Muestre en RGB la imagen resultante de la combinación de canales. (2) Pruebe a escalar la componente de UV para darla más peso sobre la imagen final. (3) Suponiendo una imagen de partida de 4 componentes, [R G B UV], dé la matriz de transferencia para pasar a RGB.

TEMA 4
Experimentos de realce de imágenes (con MATLAB):
  • Para una imagen en escala de grises, cree una función (desde cero) que sea capaz de variar el brillo y el contraste.
  • Cree desde cero una función que ecualice el histograma. Como parámetro de entrada deberá tener el número de bins del histograma.
  • Realice un unsharp-masking para una imagen en escala de grises
  • Realice una función de búsqueda de bordes. Compare los resultados con la que trae MATLAB.
  • Realice una función que añada distintos tipos de ruido a una imagen double.
  • Genere un sistema que realice un Unsharp Masking de una imagen. Hágalo de tal forma que la señal de salida sea un uint8 con el mismo rango dinámico.
Procesado en el dominio de la frecuencia:
  • Defina un filtro Pasobajo Gaussiano en el dominio de la frecuencia. Filtre una imagen predefinida en dicho dominio.
  • Defina el filtro pasoalto complementario al del apartado anterior y realice el filtrado.
  • Utilice los dos filtros anteriores para ecualizar una imagen.
  • Repita el proceso en el dominio espacial
Procesado homomórfico:
  • Genere un esquema de realce del contraste local usando procesado homomórfico como el que aparece en la Figura 19 de los apuntes.
  • ENTREGABLE: Añada una iluminación no uniforme a una imagen predefinida y aplique un filtrado homomorfico. Comente los resultados.
Filtrado de difusión anisótropa:
  • ENTREGABLE: Implemente un esquema de filtrado de difusión anisótropa como el propuesto por Gerig. Evalúe los distintos parámetros del sistema.
  • OPCIONAL: Implemente y compare alguno de los métodos adicionales de filtrado anisótropo: Catté, Weickert...

TEMA 5
Práctica 1. Filtros inverso y pseudo-inverso
Simule la degradación de una de las imágenes disponibles mediante un filtro paso bajo gaussiano de sigma 1.5 y tamaño 11x11. Calcule los filtros inverso y pseudoinverso correspondientes a esta degradación y compare los resultados tras realizar un experimento. Repita el experimento añadiendo previamente a la imagen degradada ruido blanco gaussiano de forma que la SNR de pico sea igual a 40 dB.
Práctica 2. Filtro de Wiener
Para la imagen degradada de la práctica anterior, implemente el filtro de Wiener correspondiente y compare los efectos del mismo con los de las funciones deconvwnr y wiener2 de MATLAB. Utilice para la implementación el conocimiento que proporciona sobre los estadísticos de ruido e imagen el hecho de trabajar con una imagen sintética.
Práctica 3. Filtro de Wiener (ENTREGABLE)
Cuando trabajamos con imágenes reales (no sintéticas) es necesario estimar los estadísticos de imagen y ruido a partir de la imagen observada. Para la DEP de la imagen, puede utilizarse la de la observación o bien una estimación obtenida mediante un método de restauración alternativo. En el caso del ruido, existen múltiples métodos. En particular, MATLAB utiliza para su implementación de wiener2 la estimación:

s^2=mean(Var(x))

donde Var(x) es la varianza local de la imagen. Analice el rendimiento del filtro de Wiener para la imagen degradada en la práctica 2 estimando los estadísticos de señal y ruido a partir de la imagen observada. Para el caso de la imagen, utilice la observación tal cuál y la estimación del filtro pseudoinverso. Para el ruido, utilice el estimador de MATLAB y alguno de los propuestos en el siguiente artículo. Compare los resultados obtenidos con los de la práctica 2. Puede utilizar medidas de calidad como el SSIM index (paper y matlab) o el QILV (paper y matlab).


TEMA 6
Simulación de compresión JPEG: (ENTREGABLE)
Implemente una versión sencilla del modo secuencial de JPEG sobre una de las imágenes B/N disponibles. Para ello tenga en cuenta lo siguiente:
  • El estándar opera sobre bloques 8x8, a los que les resta una componente continua genérica de valor 128. Sobre los valores resultantes realiza una DCT. Puede utilizar las funciones de MATLAB dct2 y blockproc
  • Considere dos formas de selección de coeficientes. La primera (digamos, modo 1) permitirá seleccionar un porcentaje de coeficientes a determinar siguiendo el modo zigzag. Puede hacer uso de la función zigzag.m (enlace al archivo). La segunda (modo 2) llevará a cabo la cuantificación y selección de coeficientes prevista en el estándar, acorde con los niveles de cuantificación disponibles en el fichero tabla.dat (enlace al archivo).
Para el modo 1, obtenga una gráfica de las medidas de calidad SSIM y QUILV en función del porcentaje de coeficientes seleccionados. Determine además la tasa de compresión (si es que existe) a partir de la cual, a su juicio, la compresión sería visualmente sin pérdidas. Para el modo 2, obtenga las medidas de los índices de calidad y compárelas con las obtenidas para el umbral obtenido en el modo 1.

Ejercicio práctico teórico, a realizar en papel.
Ejercicio práctico experimental, a realizar con ordenador.