Laboratorio6(2)
Laboratorio6(2)
Laboratorio6(2)
______________________________________________________
Objetivos
En esta sexta sesión de laboratorio se busca:
a) Aplicar conocimientos sobre manipulación de imágenes con Octave.
b) Operaciones básicas sobre imágenes a color.
Organización
El alumno deberá seguir los pasos que se indican en el presente boletín y avisar a
su profesor de prácticas una vez vaya consiguiendo los hitos que se marcan.
Durante los últimos 20 minutos de la sesión, el profesor le suministrará un pequeño
test con preguntas que el alumno deberá responder acerca de la materia objeto de
evaluación. No olivide traer impresa la hoja de respuestas.
Ejemplo: imshow(handle)
1
Laboratorio 6: Manejo y procesado básico de imágenes Página 2
Nota: Al pasar como parámetro una matriz de una imagen (handle) al comando size,
este devuelve la cantidad de filas, columnas y la profundidad (número de canales) de
la imagen.
Utilizando el fichero lab6.m complete el apartado 1 para generar una nueva imagen
donde cada valor del píxel posea el valor “complementario” (máximo nivel de gris –
valor original) de la imagen original pasada como parámetro.
lab6.m [mc]
2
Procesado Señales Multimedia
______________________________________________________
Nota: La imagen generada no debe sobreescribir el fichero original, por lo que deberá
almacenarse con otro nombre de fichero distinto al original (por ejemplo,
imagen_complementaria)
(1, 12)
(10, 15)
Para calcular el histograma de una imagen será necesario realizar los siguientes
pasos:
3. Recorrer la imagen píxel a píxel, tomar el nivel de gris del píxel actual, e
incrementar la posición de la estructura correspondiente a dicho nivel de gris.
3
Laboratorio 6: Manejo y procesado básico de imágenes Página 4
IN = imread(“imagencolor.jpg”);
4
Procesado Señales Multimedia
______________________________________________________
Por tanto, para convertir una imagen en niveles de grises a color será necesario crear
tres matrices bidimensionales (RGB) y asignar a cada píxel de estas matrices un valor
definido a partir del nivel de gris original. Por ejemplo, la siguiente figura muestra una
posible asignación de niveles de grises a valores de los canales de color:
0.8
0.6
0.4
0.2
0
0 50 100 150 200 250 300
Utilizando el fichero lab6.m complete el apartado 3 para generar una imagen a color a
partir de la imagen en niveles de grises utilizando la asignación representada en la
figura anterior. Complete la siguiente tabla para un desplazamiento entre curvas R,G,B
de 30 niveles:
(1, 7)
(10, 12)
Complete el código de lab6.m apartado 4 para que a partir de una imagen a color se
generen tres imágenes también a color con la información de los canales rojo, verde, y
azul. Complete el código que se le indica en lab5.m y compruebe los resultados del
mismo para diferentes ficheros: mezcla.jpg, cuado.bmp, figuras_geometricas.jpg,
5
Laboratorio 6: Manejo y procesado básico de imágenes Página 6
circramp.jpg. Rellene los siguientes recuadros con cada una de las imágenes
generadas (mezcla.jpg):
Cada una de las componentes de la imagen a color puede ser tratada como una
imagen que contiene información de un solo canal. Por tanto, se puede aplicar el
cálculo de histograma a cada una de las componentes por separado.
Cuadro.bmp figuras_geometricas.jpg
Canal R, ng = 237
Canal G, ng=27
Canal B, ng=36
6
Procesado Señales Multimedia
______________________________________________________
La transformación entre los espacios RGB y XYZ ofrece uno de los procedimientos
más extendidos para el cálculo del brillo percibido por un color con coordenadas (r, g,
b):
(1, 17)
(12, 12)
Complete el código que se indica para realizar la transformación de color RGB a HLS
según el algoritmo descrito en teoría. Emplee el programa desarrollado en el apartado
2 para representar el histograma de la componente H de las imágenes “cuadro.bmp” y
“pijama.bmp”:
8
Procesado Señales Multimedia
______________________________________________________
Cuantizando el espacio HLS pueden generarse etiquetas para cada color. Por ejemplo,
la carta de colores puede cuantizarse para etiquetar los colores por su cromática más
relevante (ángulo).
Complete el código de lab6.m apartado 8 para realizar la cuantización del espacio HLS
según el algoritmo descrito en teoría. Describa con palabras la cuantización de color
para 8 niveles
h l s H L S
14 0,1 0,2
30 0,5 0,8
9
Laboratorio 6: Manejo y procesado básico de imágenes Página 10
60 0,1 0,2
90 0,5 0,8
10
Procesado Señales Multimedia
______________________________________________________
(1, 12)
(10, 15)
HR2)
11
Laboratorio 6: Manejo y procesado básico de imágenes Página 12
HR3)
(1, 7)
(10, 12)
HR4)
HR5)
Cuadro.bmp figuras_geometricas.jpg
Canal R, ng = 237
Canal G, ng=27
Canal B, ng=36
12
Procesado Señales Multimedia
______________________________________________________
HR6)
Y Y
Píxel
Cuadro.bmp Pijama.bmp
(1, 17)
(12, 12)
HR7)
13
Laboratorio 6: Manejo y procesado básico de imágenes Página 14
HR8)
h l s H L S
14 0,1 0,2
30 0,5 0,8
60 0,1 0,2
90 0,5 0,8
14
Procesado Señales Multimedia
______________________________________________________
15