Escolar Documentos
Profissional Documentos
Cultura Documentos
Imagen tamao MxM pxeles En Matlab: Imagen = Matriz/es Cada elemento de la matriz indica el tono de gris en imgenes en blanco y negro Si la imagen es en color, existen 3 matrices, cada una representa el valor de un tono de color Los ndices de la matriz son (r,c), donde r representa la (row) y c la columna (column)
1 1 2 3 4 5 6 M 2 3 4 5 6 N
Esto crea en Matlab un matriz f, donde cada elemento tendr un valor de gris
Obteniendo informacin de f
Para determinar el tamao de la imagen: >> size(f) ans = 1024 1024 Si lo queremos almacenar en una variable >> [M N] = size(f) Si lo que queremos es obtener imormacin ms detallada >> whos f
Para mostrar imgenes imshow(f,G) donde f es la imagen a mostrar, G es una matriz indicando el nmero de niveles de grises a mostrar. Si G se omite se usa 256. La sintaxis es la siguiente >> imshow(f, [low high])
imshow(f)
imshow(f, [0 50])
Una utilidad interesante de imshow es el comando imshow(f,[]), esto espande el rango dinmico de la imagen, pone como lmite inferior, el valor mnimo de intensidad y como lmite superior el valor mximo. imshow(f,[])
imshow(f)
Si se ejecuta pixval en la consola de Matlab, en la ltima gura abierta, se podr ver el valor de intensidad cuando el ratn pasa sobre un pxel correcto.Y tambin se puede medir la distancia eucldea entre dos puntos Matlab usualmente cuando dibuja una nueva gura sobreescribe la ventana de la gura anteriormente mostrada. Para mostrar la segunda gura en una ventana independiente, ejecutar lo siguiente >> figure, imshow(f)
Para almacenar imgenes se usa el comando: imwrite(f,nombre) donde f es la imagen a guardar y nombre el nombre del chero donde lo vamos a guardar, este tiene que tener una extensin que Matlab reconozca. Tambin se puede especicar el formato en una variable separada: imwrite(f,nombre, tif) Los formatos con los que vamos a trabajar son tiff y jpeg. En este ltimo caso se puede especicar la calidad imwrite(f,nombre.jpg, quality, q)
50
100
Clases de Imgenes
double Doble precisin, nmeros en punto otante que varan en un rango aproximado de -10308 a 10308 (8 bytes por elmento) uint8 Enteros de 8 bits en el rango de [0,255] (1 byte por elemento)
int16 Enteros de 16 bits en el rango de [-32768, 32767] (2 bytes por elemento) int32 Enteros de 32 bits en el rango de [-2147483648, 2147483647] (4 bytes por elemento) single Nmero en punto otante de precisin simple, con valores aproximadamente en el rango de -1038 a 1038 (4 bytes por elemento) char Carcteres (2 byte por elemento) logical Los valores son 0 1 (1 bit por elemento)
Tipos de Imgenes
Imgenes de Intensidad Una matriz cuyos valores han sido escalados para representar intensidad. Pueden ser uint8 uint16. Sin son double, los valores estn escalados entre [0, 1] Imgenes binarias Imgenes que solamente tienen valor 0 1. Se representan en Matlab a partir de arrays lgicos. Para convertir en Matlab un array de 0s y 1s en array lgico: B = logical(A). Para comprobar si un array es lgico: isLogical(A), devuelve 1 si es lgica y un 0 si no lo es Imgenes indexadas Imgenes RGB Se vern ms adelante