size(variable)
max(Canoe);
max(Canoe(:));
2
0.2. Desplegando imagenes: Discretizacion y
tablas de colores
La funcion image de Matlab permite visualizar matrices. Existen muchsi-
mas alternativas para codificar el color y naturalmente no existe una corres-
pondencia fija entre los numeros en una matriz y colores en la pantalla.
Para esto en Matlab se dispone de una tabla de colores (color table) repre-
sentada por una matriz de tres columnas, cada cual con valores en el intervalo
[0, 1]. Dichas columnas representan respectivamente las componentes de color
rojo, verde y azul, al llamar al comando
image(Canoe)
colormap(gray(256))
image(Canoe)
3
Al mostrar una imagen es frecuente buscar que los elementos se desplie-
guen cuadraticamente. En Matlab esto se logra con el siguiente comando
axis equal
help showgrey
which showgrey
showgrey(Canoe)
showgrey(Canoe, 256)
.
.
.
showgrey(Canoe, 2)
phone = phonecalc256;
4
Algunas limitaciones surgen al considerar solo el valor maximo y mnimo
para desplegar las imagenes de escala de grises. Este es el caso de imagenes
que solo presentan algunos valores significativamente diferentes del resto. En
tal caso nuestro metodo producira imagenes muy oscuras (claras) con solo
un poco de areas claras (oscuras). Puedes ver este fenomeno al cargar la
siguiente imagen
vad = whatisthis256;
empleando la funcion
showgrey(vad)
Luego determina el valor maximo y mnimo de la imagen (con el metodo
inicialmente descrito). Puedes destacar distintos segmentos del intervalo de
niveles de gris al aplicar los lmites zmin y zmax sobre la funcion showgrey
showgrey(vad, 64, zmin, zmax)
Pregunta 3 Que es lo que se muestra en la imagen? Por que es difcil
interpretar la informacion de la imagen original?
Alternativamente uno podra visualizar los datos de la imagen con inter-
secciones en una sola dimension, emplear un esquema de coloreado (pseudo
coloring), curvas de nivel y superficies definidas por la imagen en un espacio
de tres dimensiones.
Por ejemplo, selecciona una fila de la imagen phone = phonecalc256;
con el ndice i y despliega las variaciones de intensidad empleando
plot(phone(i,:))
Observa como los niveles de gris cambian abruptamente, incluso en areas
que aparecen subjetivamente suaves. Genera un borde de escala de grises con
kil = ones(1, 256)*(1: 1: 256);
y luego observa este borde y la imagen nallo256 con la rutina de visua-
lizacion image y las siguientes tablas de color
colormap(gray(256))
colormap(cool)
colormap(hot)
5
Tambien puedes visualizar la imagen
phone128 = binsubsample(phone);
con
contour(phone128, 16)
mesh(phone128)
mesh(binsubsample(phone128))
0.3. Sub-muestreo
La intensidad de los elementos de imagen empleada para muestrear una
imagen afecta, de manera fundamental, la informacion contenida en la ima-
gen. Para simular este fenomeno vamos a tomar una imagen y reducir la
resolucion en que se representa la informacion. En Matlab podemos reducir
la resolucion de una imagen de la siguiente manera:
Para ver el efecto de esta funcion, primero veamos el caso de una imagen
simple de prueba, como una imagen de 99 pxeles definida por la siguiente
llamada
ninepic = indexpic9
rawsubsample(ninepic)
6
Como una comparacion tambien es bueno estudiar el efecto del operador
de sub-muestreo
7
0.4.1. Operaciones punto a punto
Matlab dispone de muchsimas funciones directamente aplicables al pri-
mer metodo (ver help elfun). Dichas funciones pueden emplearse con el
nombre de la imagen como una variable
neg1 = - Canoe;
showgrey(neg1);
neg2 = 255 - Canoe;
showgrey(neg2);
nallo = nallo256;
showgrey(nallo.(1/3));
showgrey(cos(nallo/10));
hist(neg1(:))
hist(neg2(:))
8
Considerando el intervalo de niveles de gris [0, 255] es posible crear una
tabla de look-up empleando
image(Canoe + 1)
tu puedes crear una funcion afn que decrementa desde el valor 1,0 al 0,0
en 256 pasos al escribir
Empleando una notacion mas compacta uno tambirn puede emplear showgrey
para implementar el mismo tipo de operacion
9
Aqu los dos ultimos argumentos indican a la funcion showgrey que la
imagen toma valores en el intervalo [0, 255], lo cual significa que ya no tenemos
que agregar el valor 1 para lograr que una tabla opere correctamente.
Esta tecnica es la mas simple de las tres, probablemente la menos costosa
en terminos computacionales y la que requiere menos memoria. La desventaja
de solo manipular tablas de color es que el resultado no esta disponible para
posterior procesamiento y analisis.
la imagen original
la funcion de transformacion
la imagen transformada
10
0.6. Compresion logartmica
Emplea la siguiente funcion de transformacion logartmica
Pregunta 12
Cuales son los efectos de esta operacion?
Por que se necesita el parametro y como afecta los resultados? Cual es
un valor adecuado para ? Muestra los resultados.
Explica las caractersticas de la transformacion logartmica, para que tipo de
imagenes resulta apropiada y por que resulta a menudo un buen modelo?
11
ejemplos sobre como escribir una funcion de Matlab al emplear el comando
type showgrey.
tools = few256;
12