Está en la página 1de 7

LABORATORIO DE SEÑALES

SEMANA 14 - PRÁCTICA No. 11


INTRODUCCIÓN A IMÁGENES Y A MATLAB
INTEGRANTES PROFESOR
______________________________________. __________________________________.
______________________________________. GRUPO: ___________________________.
______________________________________. FECHA DE ENTREGA: _________________.

OBJETIVOS
1. Describir el sistema visual humano
2. Dibujar una imagen a partir de su matriz de valores.
3. Reconocer las componentes RGB de una imagen.
4. Reproducir algunos comandos de Matlab para procesamiento de imágenes.
ACTIVIDADES PREVIAS A LA PRÁCTICA
Ver los siguientes videos:
“¿Qué es la luz? ¿Por qué vemos colores?” https://www.youtube.com/watch?v=5E3kl_7_cT0 (4’:25’’)
“La Vista (DC- Cuerpo Humano al Límite)” https://www.youtube.com/watch?v=QeKX4atMzQQ (41’:37’’)
“Colm Kelleher: Como vemos los colores. Inglés https://www.youtube.com/watch?v=MUhFoKbxixY (3:43)
NOTA: Ya que este último video está en inglés, si desean activar los subtítulos en español, deben ir a la parte inferior
derecha del video y en subtítulos, activar subtítulos en español.
EQUIPOS Y COMPONENTES NECESARIOS
EQUIPOS Y ELEMENTOS SUMINISTRADOS POR EL LABORATORIO:
1 Computador con Matlab
ELEMENTOS QUE DEBEN TRAER LOS ESTUDIANTES:
1 Cámara fotográfica (Puede ser la del teléfono móvil)

DESARROLLO DE LA PRÁCTICA
I. ESPECTRO VISIBLE Y MODELO DE VISIÓN HUMANA. (0/50).
Preguntas de reflexión 1. Naturaleza de la luz y Espectro visible
¿Qué es la luz visible?
¿Cómo se compone la luz blanca?
Preguntas de reflexión 2. Proceso de visión humana
Responda cuál es la función de las siguientes partes involucradas en el proceso de visión humana:
Córnea, pupila, retina, conos, bastones, nervio óptico y corteza cerebral.
II. REPRESENTACIÓN DE UNA IMAGEN EN ESCALA DE GRISES. (50/50).
Una imagen es la representación visual de la apariencia de un objeto. Esta imagen puede representarse como una
señal bidimensional, donde X y Y son las variables independientes y f(X,Y) el valor que toma la función.

Guía de laboratorio No. 09. Laboratorio de Señales 1


Una forma ampliamente usada para representar imágenes, utiliza un conjunto de matrices de dimensión MxN
(tamaño de la imagen), donde cada posición en cada matriz tiene un valor, que corresponde a una característica
que se representa en la imagen.
La representación más sencilla que se puede tener de una imagen, es en blanco y negro, tal y como se aprecia en
la Figura 1.

Figura 1. Imagen a blanco y negro


La imagen de la Figura 1 puede ser representada como una matriz de cinco filas y siete columnas, donde cada
posición solo puede tomar uno de dos valores (1 bit), en nuestro ejemplo (1 = blanco y 0 = negro), por lo tanto su
representación matricial sería como la mostrada a continuación:
Columna Columna Columna Columna Columna Columna Columna
1 2 3 4 5 6 7
Fila 1 1 0 1 0 1 0 1
Fila 2 0 1 0 1 0 1 0
Fila 3 1 0 1 0 1 0 1
Fila 4 0 1 0 1 0 1 0
Fila 5 1 0 1 0 1 0 1
Figura 2. Representación matricial de 5x7, de una imagen a blanco y negro
Realización de la práctica 1. (15/50). Representación matricial de una imagen.
Basado en la Figura 1 y su representación matricial, realice la representación matricial de la siguiente figura.

Realización de la práctica 2. (15/50). Gráfica.


Basado en la figura anterior y su representación matricial, realice la figura a partir de la siguiente representación
matricial:
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1

Guía de laboratorio No. 09. Laboratorio de Señales 2


Si se desea obtener mayor información, la imagen puede ser representada en escala de grises, tal y como se
muestra en la siguiente figura con cuatro niveles de intensidad (2 bits):

Figura 3. Imagen en escala de grises con cuatro niveles

Entre más bits se usen para representar la intensidad en una imagen, mayor será el tamaño de la misma y así
mismo mayor la discriminación de intensidad (en nuestro caso de grises), tal y como se aprecia en la Figura 4.

Figura 4. Niveles de gris, según el número de bits

Usualmente las imágenes en escala de grises se representan con 8 bits, es decir con 256 niveles de intensidad,
donde el nivel más bajo (0) se le considera negro y el más alto (255) se le considera blanco. Cualquier otro valor
entre 0 y 255 será un valor gris.

Realización de la práctica 3. (20/50). Niveles de intensidad de una en escala de grises


En la Figura 5 se muestra una imagen que usa 8 bits para representar la intensidad de luz, pero solo se aprecian
16 niveles equiespaciados. Escriba el valor que le corresponde a cada cuadro (sobre el) en la imagen:

Figura 5. Imagen indicando 16 niveles de gris.

Guía de laboratorio No. 09. Laboratorio de Señales 3


III. MATLAB. (0/50).
MATLAB (MATrix LABoratory, "laboratorio de matrices") es un software matemático que permite realizar varios
procedimientos, basados en la operación y manipulación de matrices. Recuerde que las imágenes pueden ser
representadas como una matriz.
Matlab también permite representar de datos y funciones, implementar algoritmos, crear interfaces de usuario
(GUI) y realizar comunicación con programas en otros lenguajes; todo esto dentro de un entorno de desarrollo
integrado (IDE) con un lenguaje de programación basado en C.
Matlab puede tanto generar imágenes como importar imágenes en los siguientes formatos: TIFF, JPEG, GIF,
BMP, PNG, XWD. Para iniciar utilizaremos el formato BMP.
Preguntas de reflexión 3. Proceso de visión humana
¿Qué significa la sigla BMP en una imagen?
¿Qué significa la sigla JPEG en una imagen?
1. Busque en su computador el logo de Matlab, como el que se muestra en la Figura 6 y abra el programa

Figura 6. Logo de Matlab


2. Al abrir el programa se observa una imagen similar a la observada en la Figura 7. En esta imagen se muestran
y nombran las componentes que conforman el escritorio de entrada en Matlab. Esta es la imagen por defecto,
la cual puede variarse según el gusto del usuario.

Figura 7. Vista del escritorio de Matlab por defecto.


3. En la ventana de comandos se deben escribir las instrucciones que se quieren ejecutar. El primer comando
que ejecutaremos será el crear una matriz que represente la imagen de la Figura 1.
4. Escriba en la ventana de comandos:
A1 = [1 0 1 0 1 0 1; 0 1 0 1 0 1 0; 1 0 1 0 1 0 1; 0 1 0 1 0 1 0; 1 0 1 0 1
0 1; 0 1 0 1 0 1 0; 1 0 1 0 1 0 1];
Nota: Todo este comando debe ir en un solo renglón.
5. Repita el mismo comando, sin incluir el punto y coma final (que se encuentra después del paréntesis
cuadrado).

Guía de laboratorio No. 09. Laboratorio de Señales 4


Preguntas de reflexión 4. Utilidad del “;” en Matlab
¿Cuál es la función del “;” al final de un comando en Matlab?
6. Ahora escriba en la ventana de comandos: figure(1); imshow(A1)
7. Observe la imagen que aparece en la ventana.
Preguntas de reflexión 5. Tamaño de las imágenes
¿A qué se debe la diferencia de tamaño entre la imagen que genera Matlab y la que está en la guía?
¿Cómo podría hacerse para que las imágenes tuvieran el mismo tamaño’
8. Copie las imágenes que se encuentran en Uvirtual o que le hizo llegar su profesor:
(Ajedrez01.bmp Gris256.bmp Balcones256.bmp guacamaya700x460.jpg) en una
carpeta de “mis documentos”.
9. Cambie la carpeta de trabajo en la ventana del directorio de la carpeta actual (Ver Figura 7) a la carpeta donde
guardó las imágenes.
10. Cargue una imagen desde un archivo en Matlab, escribiendo en la ventana de comandos:
A=imread('Ajedrez01.bmp'); figure(2); imshow(A)
Preguntas de reflexión 6. Utilidad del “;” en Matlab
Compare la representación matricial de la variable A1 con la variable A (seleccione y abra la variable en el
workspace).
¿Qué diferencias encuentra? ¿A qué se deben estás diferencias?
11. Escribir en la ventana de comandos: G256=imread('Gris256.bmp'); imshow(G256)
12. Vea la representación matricial de la imagen cargada.
Preguntas de reflexión 7. Representación matricial
Compare los valores correspondientes a cada color con los que realizó en la pregunta Realización de la práctica 3
13. Escriba en la ventana de comandos: balcones=imread('Balcones256.bmp');
14. Luego escriba: balconesBW = im2bw(balcones,0.5); esta instrucción convierte la imagen de
escala de grises a una imagen en blanco y negro.
15. Visualice ambas imágenes en figuras diferentes con los comandos:
figure(1); imshow(balcones)
figure(2); imshow(balconesBW)
16. Repita los pasos 14 y 15 cambiando el valor 0.5 por uno mayor y luego por uno menor.
Preguntas de reflexión 8. Umbral de blanco y negro (binarización)
Deduzca cuál es la función del argumento “0,5” en la línea de comando im2bw.

IV. REPRESENTACIÓN DE UNA IMAGEN A COLOR. (0/50).


Las imágenes a color se pueden representar como una combinación de tres matrices individuales de tamaño MxN.
Cada una de las matrices, brinda información acerca de la imagen a color. Esta información puede ser
intensidades, colores, pureza, etc.; esto depende del modelo de color que se use para la representación de la
imagen.

Guía de laboratorio No. 09. Laboratorio de Señales 5


En esta guía se usará el modelo RGB (Red, Green, Blue), en el cual cada matriz representa la componente o el
aporte de cada uno de estos colores primarios en la imagen.
Este modelo se basa en la síntesis aditiva, con la cual se representa un nuevo color por la suma de luz de estos
colores primarios. Este modelo se muestra en la Figura 8.

Figura 8. Modelo aditivo de los colores rojo, verde y azul


17. Va a crear una imagen similar a la mostrada en la Figura 8, pero para que sea de fácil representación en Matlab,
usará rectángulos en vez de círculos.
18. Primero defina el tamaño de la imagen en 600x1000x3 (600 filas, 1000 columnas y tres matrices). Esto se
realiza con el siguiente comando: rgb=zeros(600,1000,3);
19. Visualice la imagen que acaba de crear mediante el comando: imshow(rgb). Debe ver un cuadro
completamente negro, ya que todos los valores de las matrices están en cero.
20. Adicione el color rojo en la parte superior central, mediante el comando:
rgb(1:400,201:800,1)=255;
Esto significa poner el máximo valor (255) entre las filas 1 a 400 y las columnas 201 a 800, pero solo en la
primera matriz (la que corresponde al color rojo)
21. Visualice la imagen mediante el comando imshow(rgb). Debe ver la imagen mostrada en la Figura 9.

Figura 9. Imagen solo con la componente roja en la parte superior central.


22. Adicione el color verde. Este color se pondrá en su máximo valor (255) entre las filas 201 a 600 y entre las
columnas 1 a 601, en la segunda matriz (la correspondiente al color verde), mediante el comando:
rgb(201:600,1:600,2)=255;
23. Observe la imagen obtenida con el comando imshow(rgb), debe ver a imagen mostrada en la Figura 10.
En la cual se puede apreciar el color rojo en la parte superior central, el verde en la parte inferior izquierda y
el amarillo debido a la superposición de estos dos colores.

Figura 10. Imagen con componente roja en la parte superior central y con componente verde en la parte inferior
izquierda

Guía de laboratorio No. 09. Laboratorio de Señales 6


24. Finalmente, agregue el color azul, en la parte inferior derecha entre las filas 201 a 600 y las columnas 401 a
1000, todo esto solamente en la matriz 3 (la que corresponde al color azul).
25. Observe la imagen obtenida con el comando imshow(rgb).
NOTA: Debe ver la imagen mostrada en la Figura 11. En la cual se puede apreciar el color rojo en la parte
superior central, el verde en la parte inferior izquierda y el azul en la parte inferior derecha. En el centro se
observa el blanco, como producto de la superposición de los tres colores. En la superposición del azul con
rojo se nota el color magenta, en la superposición del color azul y verde el color aguamarina (cyan) y en la
superposición del rojo y verde el color amarillo. El resto de la imagen sigue en negro porque no se le ha
adicionado ningún otro color.

Figura 11. Imagen con las tres componentes de color RGB. Roja parte superior central, verde parte inferior
izquierda y azul parte inferior derecha.
Informe 1 (20/50). Creación de imagen a color
A partir de lo visto en los numerales 17 a 25, cree una imagen usando Matlab, de dimensión 400x600, en la cual
se aprecie la bandera de Colombia en formato .BMP.
Para grabar este imagen a partir de las matrices generadas se usa el comando: imwrite . A modo de ejemplo
se muestra como se crearía el archivo de la imagen de la Figura 11 en formato .BMP
Creación del archivo Colores_RGB.bmp: imwrite(rgb,'Colores_RGB.bmp');
Se debe cargar en esta imagen en uvirtual con el respectivo título (incluyendo nombre de los integrantes), como
adjunto al informe.
26. Cargue el archivo llamado guacamaya700x460.jpg a la variable guacamayaRGB. Visualice esta imagen.
27. Ahora grabe esta imagen en un archivo en formato .BMP. Para esto se utiliza el comando imwrite así:
imwrite(guacamayaRGB,' guacamayaRGB.bmp');
Informe 2 (30/50). Conversión y creación de imágenes
Tome una fotografía a color de todo su grupo de trabajo. Conviértala a una imagen a escala de grises mediante el
comando rgb2gray . Luego convierta esta imagen a blanco y negro.
Genere tres imágenes .BMP (utilizando el comando imwrite ) a partir de la imagen a color de la foto de su grupo,
en escala de grises de la imagen de su grupo y en blanco y negro de la imagen de su grupo.
Se deben cargar en estas imágenes en la plataforma con el respectivo título en cada una, como adjunto al informe.
Complete el siguiente cuadro comparativo con el tamaño de cada archivo generado.
Imagen a Imagen en Imagen en
Comparación de tamaños de archivos
color escala de grises blanco y negro
Tamaño de la imagen (número de pixeles
horizontal por número de pixeles verticales)
Tamaño del archivo (bytes)

Guía de laboratorio No. 09. Laboratorio de Señales 7

También podría gustarte