Está en la página 1de 5

UNIVERSIDAD DE PANAMÁ

FACULTAD DE INFORMATICA, ELECTRÓNICA Y COMUNICACIÓN

LABORATORIO DE SISTEMAS DIGITALES PARA EL PROCESAMIENTO DE LA


INFORMACIÓN
(IEC 540)
I semestre
Laboratorio # 1
“REPRESENTACIÓN DE IMÁGENES EN FORMATO DIGITAL”

Profesor: Dr. Iván Armuelles Voinov

Objetivos

 Introducir los conceptos relacionados con el almacenamiento y representación de las


imágenes digitales.
 Practicar el uso de Matlab para la presentación de imágenes y el tratamiento básico de
imágenes digitales.
Recursos:
 Computadora
 Sistema operativo de Microsoft Windows.
 Programa Matlab versión 2010 o superior.

Introducción

En matlab una imagen a escala de grises es representada por medio de una matriz bidimensional de m x
n elementos en donde n representa el numero de píxeles de ancho y m el numero de píxeles de largo
(figura 1). El elemento p11 corresponde al elemento de la esquina superior izquierda (ver figura 2), donde
cada elemento de la matriz de la imagen tiene un valor de 0 (negro) a 255 (blanco). Sin embargo, una
imagen de color RGB (la más usada para la visión computacional, y que es la opción por defecto para
matlab) es representada por una matriz tridimensional m x n x r, donde m y n tienen la misma
significación que para el caso de las imágenes de escala de grises mientras r representa el plano, que
para RGB que puede ser 1 para el rojo, 2 para el verde y 3 para el azul (figura 3).

Fig. 1. Arreglo bi-dimensional que representa los valores de cada pixel de la imagen
Fig. 2. Imagen representada por el arreglo bi-dimensional.

Fig. 3. Tres Arreglo bi-dimensional que representa los valores de cada pixel de la imagen a color,
una para el componente rojo (R), otro para el componente verde (G) y otro para el componente
amarillo (A)

Los valores pmn dependen del tipo de formato que fue utilizado para digitalizar la imagen. Entre los
formatos soportados por matlab se encuentran los siguientes:

 Windows Bitmap (BMP)

Profundidad de bits (bitdepth) Sin Compresión Compresión RLE Clase de Salida Observaciones

1-bit Sí – logical

4-bit Sí Sí uint8

8-bit Sí Sí uint8

16-bit Sí – uint8 1 Muestra/pixel

24-bit Sí – uint8 3 Muestra/pixel

32-bit Sí – uint8 3 Muestra/pixel


(1 byte de relleno)
 GIF — Graphics Interchange Format

Profundidad de bits (bitdepth) Clase de Salida

1-bit logical

2-bit to 8-bit uint8

 Joint Photographic Experts Group (JPEG)


Profundidad de bits (bitdepth) Compresión con Pérdida Compresión sin Pérdida Clase de Salida Observaciones

8-bit Sí Sí uint8 Escala de Grises o RGB

12-bit Sí Sí uint16 Escala de Grises o RGB

16-bit – Sí uint16 Escala de Grises

 Portable Network Graphics (PNG)

Profundidad de bits (bitdepth) Clase de Salida Observaciones

1-bit Logical Escala de Grises

2-bit uint8 Escala de Grises

4-bit uint8 Escala de Grises

8-bit uint8 Escala de Grises o Indexado

16-bit uint16 Escala de Grises o Indexado

24-bit uint8 RGB


Tres muestras de 8-bit /pixel.

48-bit uint16 RGB


tres muestras de 16-bit /pixel.

Puede buscar en el manual de ayuda de matlab otros tipos de formatos de imagen soportado. En las
tablas se enuncian los siguientes parámetros según el tipo de formato:
 Profundidad de bits (bitdepth): también conocida como la profundidad de color, es el número de
bits utilizados para indicar el color de un único píxel, en un mapa de bits o en cuadro de vídeo;
también es el número de bits usados para cada componente (R,B o G) de color de un único
píxel.
 Tipo de compresión: indica si existe un tipo específico de método para reducir la cantidad de
información por pixel. Por ejemplo, la Compresión por Codificación de Cantidad de Repeticiones
(RLE, Run Length Encoding) es una forma de compression de datos en el que la repetición de
los datos (la secuencia en la que los mismos valores de datos ocurren en varios datos
consecutivos) se almacenan como un único valor y cuenta. Esta es la forma más útil sobre los
datos que incluyen muchas repeticiones, por ejemplo, un cuadro del mismo color. Sin embargo,
no es útil cuando la imagen tiene muchas degradaciones de color, lo que aumentaría el tamaño
del archivo. El RLE permite recuperar la información original de la imagen, es un método de
compresión sin pérdidas, sin embargo, otros formatos usan un método para reducir la
información de la imagen que no permite recuperar la imagen original y por tanto no se restaura
la calidad de la imagen original (método de compresión con pérdidas).
 Clase de Salida:
o Logical o binary: en una imagen binaria, cada pixel asume un valor discreto de los dos
siguientes: 1 o 0. Una imagen binaria se guarda como un arreglo binario (de valores
lógicos 0 o 1).
o Uint8/Uint16: representa un valor de 8 / 16 bits entero y sin signo (un/dos bytes) que
representa los valores de 0 a 255 en el primer caso y de 0 a 65,535 en el segundo.
o Escala de grises: Una imagen en escala de grises es una matriz de valores que
representa cierta la intensidad (un valor entre un rango de valores posibles). En matlab
se almacena una imagen de escala de grises como una matriz individual en el que cada
elemento de la matriz representa la imagen de un pixel (en blanco y negro; componente
R, G o B).
o Indexado: consiste en un arreglo y mapa de colores. El valor del pixel en el arreglo es el
índice que apunta a una posición del mapa de colores. Cada fila del mapa de colores
representa los componentes de color R, G y B del pixel.
o Imagen de color verdadero o RGB: esta es una imagen en la que cada pixel se
especifica con tres valores (su componente R, G y B).

Procedimiento:
1. Inicie la aplicación Matlab

2. Cree un nuevo archivo denominado lab1.m. El en mismo deberá realizar las siguientes
declaraciones:

a) cerrar todo (close all),


b) cargue la imagen adjunta “desierto.jpg” en la variable “imagen” de la siguiente
forma image=imread('desierto.jpg').
c) Indague el tamaño de la imagen mediante la función size cargando los valores m
y n con las dimensiones de la imagen. Observe los valores en la ventana
“Workspace” y regístrelos en el informe.

3. Presente la imagen en pantalla mediante la función imshow en una ventana adicional.

4. Cree un nuevo archivo con el nombre test1.m y ejecute el siguiente programa:

clear all, close all, clc;


foto1 = imread('desierto.jpg');
figure(1), subplot(2,1,1);
imshow(foto1);
title({'\color[rgb]{1 0 0}VISIÓN \color[rgb]{0 1 0}ARTIFICIAL
\color[rgb]{0 0 1}Usando Matlab';'\color[rgb]{0 0 0}test1.m';
'\color[rgb]{0 0 1}IMAGEN ORIGINAL'})
GRIS=rgb2gray(foto1);
subplot(2,1,2)
imshow(GRIS);
title({'\color[rgb]{0 0 1}IMAGEN ESCALA DE GRISES'});

Identifique qué realiza la función rgb2gray, utilizando la ayuda de matlab.

5. A continuación realizaremos distintas operaciones con la imagen. Para eso introduzca el


siguiente programa y llámelo test2.m:

close all;
I = imread('desierto.jpg');
figure(1),imshow(I)
title({'\color[rgb]{0 0 1}IMAGEN EN TAMAÑO REAL'})

figure(2),subplot(3,1,1),imshow(I)
title({'\color[rgb]{1 0 0}VISIÓN \color[rgb]{0 1 0}ARTIFICIAL \color[rgb]{0
0 1}Usando Matlab';'\color[rgb]{0 0 0}Comandos1VisionArtificial.m';
'\color[rgb]{0 0 1}IMAGEN ORIGINAL'});

fprintf('%s%\n', 'VISIÓN ARTIFICIAL Usando Matlab -


Comandos1VisionArtificial')
fprintf('\n')

% **********
fprintf('\n')
fprintf('%s%\n', ' Dimensión de la imagen (alto, ancho, band), band=1 gris,
band=3 color: ')
fprintf('\n')
size(I)

% Obtiene información de la imagen dimensión y tipo de dato.


fprintf('\n')
fprintf('%s%\n', ' Información de la imagen dimensión y tipo de dato: ')
fprintf('\n')
whos I

% *********.
fprintf('\n')
fprintf('%s%\n', ' Información de la imagen dimensión y tipo de dato ')
fprintf('\n')
imfinfo('desierto.jpg')

% *************************
rota= imrotate(I,30,'bilinear','crop');
subplot(3,1,2),imshow(rota)
title({'\color[rgb]{0 0 1}ROTACIÓN DE LA IMAGEN'})

% **********************
reco= imcrop(I,[20,30,200,100]);
subplot(3,1,3),imshow(reco)
title({'\color[rgb]{0 0 1}RECORTE DE LA IMAGEN'})

% ***************
zoom = imresize(I,6);
figure(3),imshow(zoom)
title({'\color[rgb]{0 0 1}ZOOM DE LA IMAGEN'})

A continuación presente los resultados que han aparecido en las ventanas y explique qué
operaciones se realizaron y cómo funcionan las funciones llamadas para cada efecto.

Investigación:
 Realice una investigación sobre las ventajas y desventajas de los formatos de
representación (compresión) de imágenes en formato digital bmp, jpg, gif, tif y png. Sea
breve, pero claro al mismo tiempo que procupere presentar una descripción completa
de cada formato. Se le invita, entonces, a realizar una síntesis de la información
encontrada.
 Prepare una breve exposición para la siguiente clase sobre estos formatos.

También podría gustarte