0% encontró este documento útil (0 votos)
13 vistas14 páginas

Guia 1

Este documento introduce conceptos básicos de imágenes digitales y el uso del Image Processing Toolbox de MatLab. Explica fundamentos de imágenes digitales como píxeles, profundidad de bits, formatos de datos y tipos. También presenta materiales y equipos necesarios.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas14 páginas

Guia 1

Este documento introduce conceptos básicos de imágenes digitales y el uso del Image Processing Toolbox de MatLab. Explica fundamentos de imágenes digitales como píxeles, profundidad de bits, formatos de datos y tipos. También presenta materiales y equipos necesarios.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Guía

1 1

Facultad: Ingeniería.
Escuela: Biomédica
Asignatura: Imágenes Médicas

Introducción a MatLab y
Tollbox Image Processing

Objetivos

• Introducir conceptos básicos de imágenes digitales.


• Introducir el uso del Image Processing ToolBox de MatLab.

Recomendaciones

• Tenga orden y aseo para trabajar


• Siempre que tenga duda del procedimiento a realizar, consúltelo con el
docente o instructor
• Todas las piezas y componentes que se quiten se deben de ir guardando en
forma ordenada
• Siempre anote lo que haga, aún lo mas irrelevante, ya que al final cuando el
sistema se tiene desensamblado se vuelve complejo
• Siempre aplique las normas de seguridad que le explicará el docente o
instructor
• Los circuitos eléctricos dentro del equipo utilizan voltajes los cuales son
capaces de causar algún daño debido a los choques eléctricos por lo que se
debe de tener en cuenta las normas de seguridad eléctrica.
• Familiarizarse con el sistema de desconexión de la energía eléctrica
• Los cables de alto voltaje y los capacitores de este equipo guardan energía
que puede provocar algún choque eléctrico, por lo que antes de manipularse se
deberán descargar.
• No aplique energía eléctrica al equipo, hasta que esté seguro que las
desconexiones que ha realizado se han restaurado.
• Al finalizar el laboratorio se debe dejar en la misma condición en que se
encontró, aún los accesorios y herramientas utilizadas.
Guía
1 2

Materiales y equipos

Computadora con MatLab y Processing Image Toolbox

Introducción Teórica

FUNDAMENTOS

Una imagen digital esta compuesta de píxeles los cuales pueden definirse de alguna
manera como pequeños puntos en la pantalla o imagen. Cada píxel es capaz de
proporcionar información visual acerca de una pequeña región en particular de la
imagen. A partir de esto, se puede considerar a una Imagen Digital, como un arreglo
de instrucciones de cómo se encuentra coloreado cada píxel. En general se puede
decir que una imagen de m por n si esta compuesta de m píxeles en la dirección
vertical y n píxeles en la dirección horizontal. Es decir que tener una imagen de 512 
1024 píxeles, significa que la imagen contiene en sí información para 524288 píxeles,
los cuales requiere mucha memoria. Por lo tanto, la compresión de las imágenes es
algo esencial para el procesamiento eficiente de la imagen. El sistema de coordenadas
empleado para la ubicación de cada píxel de la imagen es como se muestra la figura
1.1.

ORIGEN COLUMNAS
(1,1) 1 2 3 4 5 6 7
1
2
3
FILAS

4
5
6
7

FIGURA 1.1. Sistema de coordenadas en la ubicación de cada píxel.

Las imágenes digitales en MATLAB se representan por medio de un arreglo de


números reales o complejos. Dicho arreglo puede ser bidimensional o
tridimensional, dependiendo del tipo de imagen de que se trate.
PROFUNDIDAD DE BITS
Guía
1 3

La Profundidad de Bits viene determinada por la cantidad de bits utilizados para definir
cada píxel. Mientras mayor sea la profundidad de bits, mayor será la cantidad de tonos
(escala de grises o color) que se pueden representar. Las imágenes digitales se
pueden producir en blanco y negro (en forma bitonal), a escala de grises o a color.

Una imagen bitonal está representada por píxeles que constan de 1 bit cada uno, que
pueden representar dos tonos (típicamente negro y blanco), utilizando los valores 0
para el negro y 1 para el blanco o visceversa.

Una imagen en escala de grises está compuesta por píxeles representados por
múltiples bits de información, que típicamente varían entre 2 a 8 bits o más.

Una imagen a colores está típicamente representada por una profundidad de bits entre
8 y 24 o superior a ésta. En una imagen de 24 bits, los bits por lo general están
divididos en tres grupos: 8 para el rojo, 8 para el verde, y 8 para el azul. Para
representar otros colores se utilizan combinaciones de esos bits. Una imagen de 24
bits ofrece 16,7 millones (2 24 ) de valores de color. Cada vez más, los escáneres
están capturando 10 bits o más por canal de color y por lo general imprimen a 8 bits
para compensar el "ruido" del escáner y para presentar una imagen que se acerque en
el mayor grado posible a la percepción humana.

Independientemente del numero de colores que el sistema pueda desplegar, MatLab


puede almacenar y procesar imagenes con altas profundidades de bits :
- 224 colores para imagenes RGB uint8
- 248 colores para imagenes RGB uint16
- 2159 colores para imagenes RGB double

Estas imagenes se desplegan mejor en sistemas con color de 24 bits, pero


usualmente lucen bien en sistemas de 16 bits.

Para poder determinar la profundidad de bits de la pantalla del sistema se debe


introducir el siguiente comando en el prompt de MatLab:

>> get (0,'ScreenDepth')

ans =

32

El entero que MatLab retorna representa el número de bits por cada píxel de la
pantalla. Es obvio entonces, que el tamaño del archivo estará definido por la
profundidad de bits con la que se trabaje, dado que para calcular el tamaño del archivo
se ha de proceder calculando primero el área de la imagen y luego multiplicandola por
la profundidad de bits que se selecciona.

FORMATO O TIPOS DE DATOS

Un entero es un número que no tiene una parte fraccional, el cual puede ser positivo,
negativo o cero. Normalmente, se utiliza un signo negativo para designar un entero
negativo. Sin embargo, una computadora puede guardar información en bits
Guía
1 4

unicamente, es decir, solamente puede hacer uso de dos valores para lograr la
representación anterior, 0 y 1. Cuando un entero es declarado como no signado (uint),
el significado de ello es que el bit mas significativo en la representación de un dato se
toma como lo que és, un dato significativo y no como un signo. MatLab tiene cuatro
tipos de datos enteros signados y cuatro no signados. Los del tipo signado permiten
trabajar con enteros negativos así como con enteros positivos, pero no pueden
representar un rango amplio de numeros como lo hacen los tipos no signados dado
que un bit es utilizado para designar el signo del número, si es positivo o negativo. El
tipo no signado permite un rango mayor de numeros, pero estos únicamente pueden
estar en el rango de los enteros positivos, o el cero.

TIPO DE DATOS RANGO


Entero signado de 8 bits -27 a (27-1)
Entero signado de 16 bits -215 a (215-1)
Entero signado de 32 bits -231 a (231-1)
Entero signado de 64 bits -263 a (263-1)
Entero no signado de 8 0 a (28-1)
bits
Entero no signado de 16 0 a (216-1)
bits
Entero no signado de 32 0 a (232-1)
bits
Entero no signado de 64 0 a (264-1)
bits

La información de tipo Punto Flotante, provee los medios para guardar y manipular
numeros con parte fraccionaria y un amplio rango de ramaños. El standar ANSI
describe tres tipos de puntos flotantes de almacenaje conocidos como:
- float,
- double
- long double

MatLab construye la información del tipo de precisión doble (double) de acuerdo al


estandar 754 de la IEEE. Cualquier valor almacenado como double requiere 64 bits,
en un formato que se detalla a continuación:

BITS USO
63 Signo (0 = Positivo, 1 =
Negativo)
62 a 52 Exponente
51 a 0 La fracción f (flotante) del
numero 1.f

Por defecto Matlab almacena la mayoría de los datos en vectores de clase doble
(double). Sin embargo, para procesamiento de imágenes, esta representación de
datos no es siempre la ideal, ya que el número de píxeles en una imagen puede ser
muy grande. Para reducir requerimientos de memoria las versiones nuevas de Matlab
puede almacenar píxeles en uint8 (enteros de 8 bits sin signo). Las operaciones
permitidas en Matlab para trabajar con píxeles uint8
son:
Guía
1 5

- Representación de imágenes
- Lectura de la imagen a partir de un formato (imread).
- Reordenar vectores (reshape, cat).
- Guardar o cargar un fichero .MAT.
- Funciones all (devuelve un 1 si todos los elementos de un vector valen 1) y any
(devuelve un 1 si cualquier elemento de un vector vale 1).
- Operadores lógicos y de indexación.
- Operaciones relacionales.
- La función find se puede utilizar con vectores de datos uint8, pero devuelve un
vector de dobles.

Aparte de las indicadas, Matlab NO puede realizar la mayoría de las funciones con
datos uint8. En particular, las peraciones matemáticas no están permitidas. Sin
embargo, la mayoría de las funciones del Toolbox de Imagen aceptan como entradas
uint8.

Convertir de una a otro formato o tipo de datos es sencillo, de la siguiente manera:

>> Ima=im2double(Ima); % Convierte una imagen con nombre Ima de uint8 a double.

>> Ima=im2uint8(Ima); % Convierte una imagen con nombre Ima de double a uint8.

FORMATOS DE IMÁGENES SOPORTADOS POR MATLAB

MatLab soporta los siguientes formatos de imágenes:

.BMP, .HDF, .JPEG, .PCX, .TIFF, .XWB

La mayoría de las imágenes disponibles hoy en día , se encuentran en el formato


JPEG, el cual es el nombre para el standard de compresión de imágenes que más se
utiliza.

Una imagen puede ser truecolor o indexada. Una imagen indexada, de altura h y
anchura w, se almacena mediante dos matrices: una matriz de índices tamaño h x m y
un mapa de colores. Cada celda de la matriz de índices corresponde a un pixel de la
imagen y contiene un índice a un color concreto del mapa de colores. Por ejemplo,
para una imagen en color de 8 bits hay 256 posibles colores; cada celda de la matriz
de índices tiene un valor entero entre 0 y 255 que es un índice a uno de los 256
colores descritos en el mapa de colores.

Al trabajar en MatLab se deben considerar múltiples factores como la manera en la


que se carga una imagen, el formato correcto, guardar la información de diferentes
maneras, como desplegar una imagen, conversiones entre diferentes formatos de
imágenes, etc.
Guía
1 6

FORMATOS DE TRABAJO EN MATLAB

- Imagen de Intensidad (Imagen en escala de grises)

Representa una imagen como una matriz, donde cada elemento tiene un valor que se
corresponde a cuan brillante u oscuro debería ser coloreado el píxel en la posición
correspondiente. Existen dos formas de representar el número que a su vez
representa la brillantez del píxel. La clase double, asigna un número flotante (número
con decimales), entre 0 y 1 a cada píxel. El valor 0 corresponde al Negro y el 1 al
Blanco. La otra clase es la uint8 la cual asigna un entero entre 0 y 255 para
representar la brillantez de un píxel. El valor 0 corresponde al Negro y 255 al Blanco.
La clase uint8 requiere aproximadamente un octavo de almacenamiento comparado
con lo que requiere la clase double. Sin embargo, debe considerarse el hecho que
muchas funciones matemáticas pueden aplicarse únicamente con la clase double.

- Imagen Binaria

Este formato de imagen también guarda una imagen como una matriz pero un píxel de
la misma únicamente tiene dos posibles colores Blanco o Negro (y nada entre ellos).
Este formato de imagen asigna 0 para el Negro y 1 para el Blanco.
- Imagen Indexada

Es una forma práctica de representar las imágenes a color. Una imagen indexada
guarda una imagen como dos matrices. La primera matriz tiene el mismo tamaño que
la imagen y un numero para cada píxel. La segunda matriz se conoce como Mapa de
Color (Colormap) y su tamaño puede diferir del de la imagen. Los números en la
primera matriz indican el número a usar en la matriz Mapa de Color. Por ejemplo, si se
considera una matriz 3 por 3:

>> W=[1 2 3; 2 3 2; 3 2 1] ; y un mapa de color asociado de longitud 3:

>> mapa = [1 0 0; 0 1 0; 0 0 1] ; donde la primera fila (primera tripleta) es rojo, la


segunda verde y la última azul. Entonces,

>> W=[1 2 3; 2 3 2; 3 2 1];


>> mapa = [1 0 0; 0 1 0; 0 0 1];
>> image(W)
>> colormap(mapa)

El mapa de colores es una matriz que tiene tres columnas, una por cada color básico
(rojo, verde y azul o RGB) y una fila por cada posible color. Para el ejemplo de 256
colores, el mapa de colores sería una matriz de tamaño 256 x 3. Cada fila del mapa de
colores describe un color concreto y contiene tres números en punto flotante, con un
valor entre 0 y 1, que dan las cantidades de rojo, verde y azul que tiene el color. Así,
por ejemplo, si la fila 6 contiene los valores [0.062745 0.031373 0] ello indica que, en
ese mapa de colores, el color número 6 no contiene azul y contiene intensidades
pequeñas de rojo y verde. Muchas imágenes en blanco y negro se almacenan con un
mapa de 256 colores (niveles de gris), pero en este caso, cada nivel contiene las
mismas cantidades RGB, es decir, las tres celdas de cada fila contienen el mismo
valor. La instrucción utilizada para el trabajo con el mapa de colores en mapa es
Guía
1 7

colormap(m), la cual permite cambiar el mapa de colores que se utiliza en la


representación. En general, m es una matriz con tres columnas, de modo que la i-
ésima fila determina las proporciones, en la escala RGB, del i-ésimo color utilizado.
Para más comodidad, MATLAB dispone de una serie de mapas de colores pre-
definidos, que se pueden imponer mediante colormap(mapa), donde mapa puede
tomar uno de los valores siguientes:

hsv - la escala por defecto (hue-saturation-value).

cool - Gama de colores entre cyan y magenta.

hot - Gama de colores entre rojo oscuro y amarillo.

gray - Gama de colores grises.

pink - Gama de colores rosados.

flag - Alterna rojo – blanco – azul - negro.

colorcube - Contraste de colores.

autumn - Colores entre el rojo y el amarillo.

spring - Colores entre el magenta y el amarillo.

winter - Colores entre el azul y el verde.

summer - Colores entre el verde y el amarillo.

- Imagen RGB (Truecolor)

Este es otro formato para imágenes a color. Se presenta en la forma de un arreglo de


mn3 de clases uint8, uint16, single, o double cuyos valores de píxel especifican
valores de intensidad. Este representa una imagen con tres matrices de tamaños que
concuerdan con el de la imagen. Cada matriz corresponde a uno de los colores
básicos Rojo, Verde o Azul y da establecen cuanto de cada uno de estos colores debe
ser usado en un determinado píxel.

- Imagen Múltiples-Frames

Cuando se requiere hacer estudios de secuencias de imágenes, este formato es el


indicado. Por ejemplo en imágenes médicas donde se requiere el estudio de
secuencias de cortes transversales, longitudinales, etc..
Guía
1 8

CONVERSIÓN ENTRE FORMATOS DE TRABAJO DE IMAGENES

Para convertir imágenes entre los diferentes formatos disponibles, MatLab con su
Image Processing Toolbox cuentan con una serie de comandos que facilitan realizar
tales procedimientos:

OPERACIÓN
COMANDO MatLab
ORIGINAL CONVERSIÓN A
RGB/Intensidad/Indexado Binario dither( )
Intensidad Indexado gray2ind( )
Indexado Intensidad ind2gray( )
Indexado RGB ind2rgb( )
RGB Intensidad rgb2gray( )
RGB Indexado rgb2ind( )
Matriz Regular Intensidad mat2gray( )
(Escalando)

El comando mat2gray es útil si se tiene una matriz que representa una imagen pero
los valores que representan la escala de grises no son adecuados. El comando
mat2gray automáticamente re-escala todas las entradas a valores que se encuentren
entre 0 y 255 (si se utiliza uint8) o 0 y 1 ( si se utiliza double).

LECTURA DE ARCHIVOS

Las imágenes que desean ser procesadas, normalmente se encuentran en la forma de


un archivo, mientras que el trabajo en MatLab se desarrolla con una imagen vista
como una matriz. Estas imágenes una vez procesadas deben ser guardadas en un
formato de imagen que sea compatible con otros programas, tal como JPEG, TIFF,
etc,.

La función imread lee imágenes que se encuentren en cualquiera de los formatos de


archivo de gráficos de imágenes, con cualquier profundidad de bit. La mayoría de las
imágenes utiliza 8 bits para guardar los valores de los píxel. Como ya se explico,
cuando estos son guardados MatLab los guarda como clase uint8. Para formatos de
archivo que soportan información de 16 bits, PNG y TIFF por ejemplo, MatLab guarda
las imágenes como clase uint16.

Para imágenes indexadas, imread siempre lee el mapa de color dentro de una matriz
de clase double, aunque el mismo arreglo de la imagen sea clase uint8 o uint16.

LECTURA DE MÚLTIPLES IMÁGENES DE UN ARCHIVO GRAFICO

MatLab soporta archivos gráficos con diferente formato, tales como HDF y TIFF, que
pueden contener múltiples imágenes. Por defecto, imread importa solo la primera
imagen de un archivo de este tipo. Para importar las imágenes adicionales desde el
archivo, se debe utilizar la sintaxis soportada por el formato del archivo. Por ejemplo,
cuando se usan archivos TIFF, se puede utilizar un valor índice con imread que
Guía
1 9

identifica la imagen dentro del archivo que se requiere importar. Así, este ejemplo lee
una serie de 8 imágenes de un archivo TIFF y guarda las imágenes en un arreglo de 4
dimensiones. Se puede utilizar imfinfo para determinar cuantas imágenes han sido
guardadas en el archivo:

>> rm=uint8(zeros(128,128,1,8));
>> for frame = 1:8
>> [rm(:,:,:,frame),map]=imread(‘[Link]’,frame);
>> end

DESPLEGADO DE IMÁGENES EN MATLAB

No todos los comandos para el desplegado de una imagen requieren tener Image
Processing Toolbox. Tal es el cado se los siguientes comandos:

OPERACIÓN COMANDO MatLab


Despliega una imagen representada como la
imagesc(Ima)
matriz en este caso Ima
Ajusta el brillo, el valor entre paréntesis es tal
que :
brighten( )
]-1 , 0[, proporciona una imagen más oscura
]0 , 1[, proporciona una imagen más brillante
Cambia los colores a tonos de gris colormap(gray )

A veces la imagen no puede ser desplegada en escala de grises aunque haya sido
previamente convertida a una imagen en escala de grises. Es entonces que se puede
hacer uso del comando colormap(gray) para “forzar” a MatLab a usar una escala de
grises al momento de desplegar una imagen.

Si el MatLab tiene el Image Processing Toolbox instalado, es recomendable en lugar


de utilizar los comandos anteriores, el comando imshow

OPERACIÓN COMANDO MatLab


Despliega una imagen representada como la
Imshow(Ima)
matriz en este caso Ima
Guía
1 10

Procedimiento

NOTA :
Etiquete con explicaciones cada una de las partes de las instrucciones que utilizo en la
práctica, en MatLab, luego del ; en una instrucción se coloca % y posteriormente se
puede escribir sin que perjudique la ejecución de la instrucción. Si hay un salto de
línea, se debe volver a colocar el carácter anterior. Esto le será útil como una buena
técnica de estudio para el parcial práctico.

PARTE I. Binarización de una imagen.

>> clear
>> close all
>> Ima= imread('[Link]');
>> figure(1), imshow(Ima);
>> ImaFil = Ima(100,:);
>> ImaCol = Ima(:,256);

>> figure(2), imshow(ImaFil);


>> figure(3), imshow(ImaCol);

>> max(max(Ima));

¿Cual es el resultado obtenido?, Un número aproximadamente igual a la mitad de este


será utilizado para declarar la variable x.

>> ImaBin1=Ima>x
>> ImaBin2=Ima<x

>> figure(4), imshow(ImaBin1);


>> figure(5), imshow(ImaBin2);

Visualice ambas figuras y establezca la diferencia entre ellas.

PARTE II. Mapa de Colores, imread, imshow e imwrite.

>> clear

>> close all

>> imabmp1=imread('[Link]');
>> imatif1=imread('[Link]');
>> imajpg1=imread('[Link]');

>> imabmp2=imread('H_24.bmp');
>> imatif2=imread('[Link]');
>> imajpg2=imread('[Link]');
Guía
1 11

Verifique como aparece cada una de estas imágenes, como matrices o arreglos de
matrices en el Workspace. Comente cada una de ellas. Proceda de la siguiente
manera:

>> [indimabmp1,map]=rgb2ind(imabmp1,255);

En este punto verifique como ha cambiado el Workspace. Intente presentar la imagen


obtenida en diferentes mapas de colores así:

>> imshow (indimabmp1), colormap(cool);


>> imshow (indimabmp1), colormap(spring);
>> imshow (indimabmp1), colormap(pink);

Ahora inténtelo con el mapa de color asignado, de la siguiente manera:

>> imshow (indimabmp1), colormap(map);

Realice una nueva conversión:

>> indimabmp1gr = ind2gray(indimabmp1,map);

Muestre el resultado

>> imshow (indimabmp1gr);

Vuelva a realizar las pruebas intentando mostrar la imagen antes convertida con los
Mapas de Colores utilizados anteriormente. ¿Qué resultado obtuvo?. Guarde la
imagen original.

>> imwrite (indimabmp1gr,'[Link]');

Cambie el mapa de color de las imágenes cargadas, y guárdelas en su directorio de


trabajo.

PARTE III. Lectura de una imagen Multiframe.

El Toolbox de Procesamiento de Imágenes provee soporte para guardar múltiples


imágenes en un mismo arreglo. Cada imagen separada es lo que se conoce como
Frame.

Primero se ha de crear un arreglo en cuatro dimensiones que permitirá que en él sean


arreglados cada uno de los Frames.

>> mri = uint8(zeros(128,128,1,27)); % preallocate 4-D array

donde, 128  128 es la medida en píxels de cada una de las imágenes en los Frames
y 27 es el número de Frames que la componen.

>> for frame=1:27


>> [mri(:,:,:,frame),map] = imread('[Link]',frame);
>> end
Guía
1 12

Con la etapa anterior, se extraen todos los Frames los cuales pueden desplegar ser
desplegados individualmente de la siguiente manera:

>> figure;imshow(mri(:,:,:,6),map);
>> figure;imshow(mri(:,:,:,12),map);
>> figure;imshow(mri(:,:,:,24),map);

O si se quiere desplegar todo el conjunto a la vez, unicamente hace falta:

>> montage(mri,map);

PARTE IV. Histograma de una imagen.

Limpiar el workspace y cerrar todas las ventanas abiertas


>> clear
>> close all

Cargar un demo del Image Processing de MatLab

>> load clown

Presentar la imagen y su mapa de color asociado

>> figure(1), imshow(X,map),colorbar;


>> axis on ;
>> title('IMAGEN ORIGINAL EN COLOR');

Presentar la imagen en blanco y negro:

>> i = (1:256)'/256;
>> mapbn = [i i i];
>> figure(2), imshow(X,mapbn),colorbar;
>> axis on
>> title('IMAGEN EN BLANCO Y NEGRO');

Mejorar el contraste de la imagen

>> ColorMax = max(X(:));


>> Y = X/ColorMax*256;
>> figure(3), imshow(Y,mapbn), colorbar;
>> axis on, title('IMAGEN CON MEJORA DE CONTRASTE');

Presentar el histograma de las imágenes, notando las diferencias entre ambos.

>> figure(4),subplot(2,1,1),imhist(X,mapbn);
>> figure(4),subplot(2,1,2),imhist(Y,mapbn);

Presentar la imagen original con múltiples mapas de colores, que sirven de referencia
en la misma imagen:
Guía
1 13

>> figure(5), imshow(Y,flag), colorbar;


>> figure(6), imshow(Y,hot), colorbar;
>> figure(7), imshow(Y,autumn), colorbar;
>> figure(8), imshow(Y,winter), colorbar;

Análisis de resultados

 ¿Qué es una imagen TrueColor?


 ¿Qué es un histograma y que ayuda a determinar?
 Defina las siguientes clases utilizadas en el Image Processing Toolbox: uint8,
uint16, double, logical
 ¿Cómo puede conseguirse una imagen indexada partiendo de una imagen
TrueColor?. Presente un ejemplo.
 Desarrolle el siguiente procedimiento, e indique que diferencias encuentra
entre las dos imágenes que se correspondan en color y la razón de estas
diferencias.

>> [X,map] = imread('[Link]');

>> figure(1), imshow(X,map)


>> title('IMAGEN ORIGINAL CON SU PROPIO MAPA DE COLOR');

i = (1:256)'/256;

>> mapred1= [i zeros(256,1) zeros(256,1)];


>> mapgre1= [zeros(256,1) i zeros(256,1)];
>> mapblu1= [zeros(256,1) zeros(256,1) i];

>> figure(2), imshow(X,mapred1)


>> title('IMAGEN ROJO 1');

>> figure(3), imshow(X,mapgre1)


>> title('IMAGEN VERDE 1');

>> figure(4), imshow(X,mapblu1)


>> title('IMAGEN AZUL 1');

>> mapr= [ones(256,1) zeros(256,1) zeros(256,1)]; mapred2=mapr.*map ;


>> mapg= [zeros(256,1) ones(256,1) zeros(256,1)];mapgre2=mapg.*map ;
>> mapb= [zeros(256,1) zeros(256,1) ones(256,1)];mapblu2=mapb.*map ;

>> figure(5), imshow(X,mapred2)


>> title('IMAGEN ROJO 2');

>> figure(6), imshow(X,mapgre2)


>> title('IMAGEN VERDE 2');

>> figure(7), imshow(X,mapblu2)


>> title('IMAGEN AZUL 2');
Guía
1 14

Investigación complementaria

 Investigue la instrucción o el conjunto de estas, que permitirían obtener


un conjunto de filas de una imagen y poderlo visualizar posteriormente.
 Investigue la instrucción o el conjunto de estas, que permitirían obtener
un conjunto de columnas de una imagen y poderlo visualizar
posteriormente.
 Investigue el comando imfinfo, identifique cada uno de los datos que
proporciona y su utilidad.
 En que se diferencian las imágenes guardadas en diferentes
modalidades en el formato .BMP, es decir, si se tienen imágenes de 16
bits, de 24 bits, de 32 bits.
 ¿Que es un archivo .m y en que se diferencia de un archivo .mat.?

Información adicional

- [Link]/edan/asignaturas/ CN3/BREVES%20APUNTES%[Link]

- [Link]/palacios/matlab/

- [Link]/access/helpdesk/help/toolbox/images/[Link]

También podría gustarte