Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab1 IEC540
Lab1 IEC540
Objetivos
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:
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
1-bit logical
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:
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('\n')
fprintf('%s%\n', ' Dimensión de la imagen (alto, ancho, band), band=1 gris,
band=3 color: ')
fprintf('\n')
size(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.