Main Content

Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Trabajar con imágenes en gráficas de MATLAB

¿Qué son los datos de imágenes?

La estructura básica de datos de MATLAB® es el arreglo, un conjunto ordenado de elementos reales o complejos. Un arreglo está indicado de manera natural para la representación de imágenes, conjuntos ordenados de color con valor real o datos de intensidad. (Un arreglo está indicado para imágenes con valor complejo).

En el área de trabajo de MATLAB, la mayoría de las imágenes se representa como arreglos (matrices) de dos dimensiones, en los que cada elemento de la matriz se corresponde con un único píxel de la imagen que se muestra. Por ejemplo, una imagen compuesta de 200 filas y 300 columnas de puntos de distintos colores almacenada como una matriz de 200 por 300. Algunas imágenes, como las imágenes RGB, requieren un arreglo tridimensional, en el que el primer plano de la tercera dimensión representa las intensidades de los píxeles rojos, el segundo plano representa las intensidades de los píxeles verdes y el tercer plano representa las intensidades de los píxeles azules.

Esta convención hace que trabajar con imágenes con formatos de archivo gráfico sea similar a trabajar con cualquier otro tipo de datos matriciales. Por ejemplo, puede seleccionar un único píxel de una matriz de imagen con subíndices de matriz normal:

I(2,15)

Este comando devuelve el valor del píxel en la fila 2, la columna 15 de la imagen I.

Las siguientes secciones describen los distintos datos y tipos de imágenes y ofrecen detalles acerca de cómo leer, escribir, trabajar con y mostrar imágenes de gráficas; cómo modificar las propiedades de visualización y la relación de aspecto de una imagen durante la visualización; cómo imprimir una imagen, y cómo convertir el tipo de datos o el formato gráfico de una imagen.

Tipos de datos

Las matemáticas de MATLAB admiten tres clases numéricas diferentes para la visualización de imágenes:

  • punto flotante de doble precisión (double)

  • número entero sin signo de 16 bits (uint16)

  • número entero sin signo de 8 bits (uint8)

Los comandos de visualización de imágenes interpretan los valores de datos de manera diferente en función de la clase numérica en que se almacenan los datos. Imágenes de 8 y 16 bits incluye detalles del funcionamiento interno del almacenamiento de imágenes de 8 y 16 bits.

De forma predeterminada, la mayoría de los datos ocupa arreglos de clase double. Los datos de estos arreglos se almacenan como números de punto flotante de doble precisión (64 bits). Todas las funciones y capacidades de MATLAB funcionan con estos arreglos.

En las imágenes almacenadas en uno de los formatos de archivo gráfico admitidos por las funciones de MATLAB, sin embargo, esta representación de datos no siempre es perfecta. El número de píxeles en dicha imagen puede ser muy numeroso; por ejemplo, una imagen de 1.000 por 1.000 tiene un millón de píxeles. Puesto que al menos un elemento del arreglo representa cada píxel, esta imagen requiere aproximadamente 8 megabytes de memoria si se almacena como clase double.

Para reducir los requisitos de memoria, puede almacenar los datos de imágenes en arreglos de clase uint8 y uint16. Los datos de estos arreglos se almacenan como números enteros de 8 bits o 16 bits sin signo. Estos arreglos requieren una octava o una cuarta parte de la memoria que necesitan los datos de los arreglos double.

Profundidad en bits

Las funciones de entrada de MATLAB leen la mayoría de s en bits (bits por píxel) habituales de cualquiera de los formatos de archivos gráficos compatibles. Cuando los datos se encuentran en la memoria, se pueden almacenar como uint8, uint16 o double. Para obtener información sobre las profundidades en bits adecuadas para cada formato compatible, consulte imread y imwrite.

Formatos de imagen compatibles

Los comandos de MATLAB leen, escriben y muestran diferentes tipos de formatos de archivos gráficos para las imágenes. Al igual que ocurre con las imágenes generadas de MATLAB, una vez que una imagen con formato de archivo gráfico se muestra, se convierte en un objeto de imagen. MATLAB es compatible con los siguientes formatos de archivos gráficos, entre otros:

  • BMP (Microsoft® Windows® Bitmap, mapa de bits de Microsoft Windows)

  • GIF (Graphics Interchange Files, formato de intercambio de gráficos)

  • HDF (Hierarchical Data Format, formato de datos jerárquicos)

  • JPEG (Joint Photographic Experts Group, grupo conjunto de expertos en fotografía)

  • PCX (Paintbrush)

  • PNG (Portable Network Graphics, gráficos de red portátiles)

  • TIFF (Tagged Image File Format, formato de archivo de imagen etiquetado)

  • XWD (X Window Dump)

Para obtener más información sobre las profundidades en bits y los tipos de imagen compatibles con estos formatos, consulte imread y imwrite.