Académique Documents
Professionnel Documents
Culture Documents
Procedimiento
El IPT es compatible con imgenes de tipo binario, indexado, intensidad y
color. Antes de que una imagen pueda ser procesada en MATLAB, primero se
debe cargar en la memoria. Para leer una imagen, se utiliza la funcin
imread.
1. Cargue la imagen coins.png mediante la ejecucin de la siguiente
declaracin:
I = imread ('coins.png');
Pregunta 1
Qu tipo de imagen es coins.png?
ColorType: grayscale
Pregunta 2
Por qu utilizamos el operador punto y coma (;) despus de la declaracin imread? Qu
sucede si lo omitimos?
Se utiliza para evitar que se muestre el resultado de la variable en el
command window; si omitimos el punto y coma se mostrar la matriz
completa de la imagen.
Imgenes Binarias, de intensidad y color pueden ser ledas con la funcin imread como se ha
demostrado anteriormente. Al leer una imagen indexada, debemos especificar las variables,
tanto para la imagen y su mapa de color. Esto se ilustra en el siguiente paso:
pregunta 3
Cuntas dimensiones tiene la variable X_rgb y cules son sus tamaos?
Tamao (filas x columnas): 258x350; clase: double; tipo de imagen:
truecolor
4. Convertir la imagen indexada X con el mapa de colores de map a una
imagen de intensidad.
X_gray = ind2gray (X, mapa);
pregunta 4
Qu tipo de clases es X_gray?
Clase: uint8
5. Podemos comprobar que la imagen de intensidad nueva consta de
valores de pxeles en el rango [0, 255].
ans = 255
ans = 0
pregunta 5
Por qu estamos obligados a utilizar el operador dos puntos (:) al
especificar la variable X_gray? Qu sucede si lo omitimos?
Si omitimos los dos puntos nos mostrar todos los valores mximos o
mnimos en todas las columnas.
Se demostr en el paso anterior que la imagen X_gray contena valores en
el rango [0, 255] (en esta imagen en particular, pas a ser exactamente 0 y
255, que es slo una coincidencia). Vamos a ver lo que sucede cuando
convertimos la imagen a clase double.
6. convierta la variable gris X_gray a clase double.
X_gray_dbl = im2double(X_gray);
pregunta 6
Cul es el rango de valores para la nueva variable X_gray_dbl?
max (X_gray_dbl (:))
ans = 1
ans = 0
imagesc llevar a cabo la misma operacin pero adems escala los datos
de la imagen a su rango completo de valores. El IPT ofrece una funcin de
imagen que muestra una mayor optimizacin de ajustes sobre los ejes de la
imagen para proporcionar una mejor visualizacin de los datos de la
imagen: imshow.
7. Utilice la funcin imshow (con la opcin impixelinfo) para mostrar la
imagen coins.png que est cargada actualmente en la variable I.
imshow (I), impixelinfo
pregunta 7
Considere una imagen donde el rango de posibles valores para cada pixel no
es [0, 255], en cambio posee una gama no estndar de [0, 99]. Cmo
podemos mostrar la imagen de modo que un valor de 99 representa el
blanco y un valor de 0 representa negro?
X = uint16([0 109 204; 68 10 70; 50 255 120])
fmax = max(X(:));
fmin = min(X(:));
Za = uint8(99.0*double((X-fmin))/double((fmax-fmin)))
X =
0
68
50
Za =
0
26
19
109
10
255
42
4
99
204
70
120
79
27
47
220
75
pregunta 8
Cul es el significado de los valores almacenados en las variables r, c, p?
Nos devuelve los valores de los pixeles seleccionados.
La funcin improfile se puede utilizar para calcular y representar grficamente los valores de
intensidad a lo largo de una lnea o un path de varias lneas en una imagen.
10. Utilice la funcin improfile para explorar el contenido de una lnea en la imagen coins.png
que est cargado actualmente en la variable I.
La funcin imtool es la ltima funcin del IPT para la visualizacin de imgenes. Proporciona
todas las capacidades de visualizacin de imgenes de imshow, as como el acceso a otras
herramientas para la navegacin y la exploracin de imgenes, como la herramienta Pixel
Region tool, la Image Information tool, y Adjust Constrast tool
11. Utilice la funcin imtool para mostrar la imagen que est cargada en la
variable X_rgb. Tenga en cuenta que una ventana secundaria (informacin
general) se abrir tambin. Explora la funcionalidad adicional, incluyendo la
posibilidad de medir distancias entre dos puntos dentro de la imagen.
imtool(X_rgb)
13. Ejecute las siguientes instrucciones para crear un subplot con dos
imgenes:
A = imread('pout.tif');
B = imread('cameraman.tif');
figure
subplot(1,2,1), imshow(A)
subplot(1,2,2), imshow(B)
pregunta 9
Cul es el rango de valores para la imagen A y la imagen B?
En el paso anterior, se muestran dos imgenes, ambas eran imgenes de intensidad. A pesar de
que no hay un mapa de color asociado con las imgenes de intensidad, MATLAB utiliza un
mapa de color en escala de grises para mostrar una imagen de intensidad (esto sucede en el
fondo y suele ser invisible para el usuario). Consideremos el caso en el que una imagen de
intensidad y una imagen indexada se muestran en una figura, utilizando la funcin subplot.
pregunta 10
Qu pas con la imagen de la moneda justo despus se visualiza la imagen
de los rboles? Explica tu respuesta.
La imagen de las monedas cambio de color debido a que la imagen de los
rboles es una imagen indexada.
Para visualizar correctamente las imgenes con mapas de diferentes
colores, hay que utilizar la funcin de subimage.
16. Utilice la funcin de subimage para mostrar varias imgenes con
diferentes mapas de color.
figure
pregunta 11
Qu contienen las variables de I_ind y I_mapa?
19. Use imwrite para guardar dos de las imgenes modificadas en este
taller estos archivos sera usados a futuro en el semestre. Utilice el formato
JPEG para uno de ellos y la extensin PNG para el otro. Por ejemplo,
imwrite(X_rgb, 'rgb_trees.jpg');
imwrite(X_gray, 'gray_trees.png');