1. Lectura de imágenes
Las imágenes se leen en el entorno MATLAB mediante la función imread(), que toma como argumento el nombre del archivo con la extensión correspondiente.
Por ejemplo:
>> I=imread('nature.jpg');
Esto leerá la imagen JPEG ‘naturaleza’ en la array de imágenes.
Nota: El punto y coma (;) al final de la línea de comando se usa para suprimir la salida en MATLAB. If ‘;’ no se usa al final, mostrará el resultado de la operación especificada.
2. Visualización de imágenes
La función imshow() se utiliza para mostrar imágenes en MATLAB. La sintaxis básica de imshow() es
immostrar(f, G);
Aquí f es la array de la imagen y G es el número de niveles de intensidad utilizados para mostrar la imagen. El segundo Argumento en la sintaxis anterior es opcional. Si se omite G, su valor predeterminado es de 256 niveles.
Cuando usamos la sintaxis
imshow(f, [Bajo, Alto]);
Muestra todos los valores menores o iguales a ‘Bajo’ en negro y todos los valores mayores o iguales a ‘Alto’ en blanco. Los valores entre ‘Bajo’ y ‘Alto’ se muestran como el valor de intensidad intermedia utilizando el número predeterminado de niveles.
Ejemplos:
Mostrar imágenes en escala de grises
>> imshow(f);
Esto mostrará la imagen en escala de grises f .
Además, podemos escribir
>> imshow(f, [90, 180]);
Mostrará todos los valores menores o iguales a 90 en negro y todos los valores mayores o iguales a 180 en blanco. Los valores entre 90 y 180 se muestran como el valor de intensidad intermedia utilizando el número de niveles predeterminado.
Mostrando imágenes binarias
>> imshow(BW);
Muestra la imagen binaria BW . Muestra los píxeles con el valor 0 (cero) en negro y los píxeles con el valor 1 en blanco.
Mostrando imágenes RGB
>> imshow(f);
Muestra la imagen RGB f .
3. Escribir imágenes en el disco
Las imágenes se escriben en el disco usando la función imwrite() . La sintaxis básica de imwrite() es
imwrite(f, ‘nombre de archivo’);
Aquí f es nuestra imagen y el nombre de archivo es el nombre del archivo que incluye una extensión de formato de archivo reconocida. Alternativamente, también podemos especificar el formato deseado explícitamente con un tercer argumento.
Por ejemplo
>> imwrite(f, 'nature.jpg');
Alternativamente, podemos escribirlo como,
>> imwrite(f, 'nature', 'jpg');
Los comandos anteriores escriben la imagen f en un nombre de archivo con extensión jpg.
Nota: La función imwrite() también tiene algunos parámetros opcionales, según el formato del archivo.
Por ejemplo:
>> imwrite(f, 'filename', 'quality', q);
La sintaxis anterior es aplicable solo para imágenes JPEG. Aquí q es un número entero y puede tomar un valor entre 0 y 100. Baje el valor de q más alta es la degradación debido a la compresión JPEG.
Algunas otras funciones importantes
i.) imfinfo
Muestra los detalles de un archivo de imagen.
Ejemplo:
>> imfinfo nature.jpg;
Producción:
Filename: 'nature.jpg' FileModDate: '23-Jun-2016 09:57:04' FileSize: 238290 Format: 'jpg' FormatVersion: '' Width: 1920 Height: 1200 BitDepth: 24 ColorType: 'truecolor' FormatSignature: '' NumberOfSamples: 3 CodingMethod: 'Huffman' CodingProcess: 'Sequential' Comment: {'CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), quality = 92?'}
ii.) La función size()
size() toma la array de imagen como argumento y proporciona la dimensión de fila y columna de una imagen f. Esta función se utiliza para determinar el tamaño de una imagen automáticamente.
Ejemplo :
>> size(f)
Producción :
ans = 1920 1200
Aquí 1920 es el número de filas y 1200 es el número de columnas en la imagen f.
Nota: Como sabemos, las imágenes RGB se representan mediante una array 3D en MATLAB. Entonces, si f es una imagen RGB, la función anterior producirá una salida como
ans = 1920 1200 3
iii.) quién es f
Esta función mostrará detalles adicionales sobre la array de imagen f.
Ejemplo :
whos f
Producción :
Name Size Bytes Class Attributes f 300x400x3 360000 uint8