Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Tipos de imagen

Imágenes indexadas

Una imagen indexada consta de una matriz de datos, y una matriz de mapa de colores,. es una matriz de-por-3 de clase que contiene valores de punto flotante en el intervalo [0,1].Xmapmapmdouble Cada fila de especifica los componentes rojo, verde y azul de un solo color.map Una imagen indexada utiliza la "asignación directa" de los valores de píxel a los valores de mapa de colores. El color de cada píxel de imagen se determina mediante el valor correspondiente de como índice.Xmap Por lo tanto, los valores deben ser enteros.X El valor 1 apunta a la primera fila, el valor 2 apunta a la segunda fila, y así sucesivamente.map Mostrar una imagen indexada con las instrucciones

image(X); colormap(map) 

Un mapa de colores a menudo se almacena con una imagen indexada y se carga automáticamente con la imagen cuando se utiliza la función.imread Sin embargo, no está limitado a usar el mapa de colores predeterminado: use cualquier mapa de colores que elija. La descripción de la propiedad describe cómo modificar el tipo de asignación utilizada.CDataMapping

La siguiente figura ilustra la estructura de una imagen indexada. Los píxeles de la imagen se representan mediante números enteros, que son punteros (índices) a los valores de color almacenados en el mapa de colores.

La relación entre los valores de la matriz de la imagen y el mapa de colores depende de la clase de la matriz de la imagen. Si la matriz de la imagen es de clase, el valor 1 apunta a la primera fila del mapa de colores, el valor 2 apunta a la segunda fila, y así sucesivamente.double Si la matriz de la imagen es de clase o, hay un desplazamiento — el valor 0 apunta a la primera fila en el mapa de colores, el valor 1 apunta a la segunda fila, y así sucesivamente.uint8uint16 El desplazamiento también se utiliza en los formatos de archivo de gráficos para maximizar el número de colores que se pueden admite. En la imagen anterior, la matriz de la imagen es de clase.double Dado que no hay ningún desplazamiento, el valor 5 apunta a la quinta fila del mapa de colores.

Nota

Cuando se utiliza el renderizador de pintores en la plataforma, sólo debe utilizar 256 colores al intentar mostrar una imagen indexada.Windows® Los mapas de colores más grandes pueden llevar a un color inesperado porque el algoritmo de pintores utiliza la paleta de colores 256, que los controladores de gráficos y el hardware de gráficos son conocidos para manejar de manera diferente.Windows Para evitar este problema, use el o el representador, según corresponda.ZbufferOpenGL

Escala de grises (intensidad) imágenes

Una imagen en escala de grises, a veces denominada imagen, es una matriz de datos cuyos valores representan intensidades dentro de algún intervalo.IntensidadI Una imagen en escala de grises se representa como una sola matriz, con cada elemento de la matriz correspondiente a un píxel de imagen. La matriz puede ser de clase, o.doubleuint8uint16 Mientras que las imágenes en escala de grises rara vez se guardan con un mapa de colores, todavía se utiliza un mapa de colores para mostrarlos. En esencia, las imágenes en escala de grises se tratan como imágenes indexadas.

Esta figura representa una imagen en escala de grises de la clase.double

Para mostrar una imagen en escala de grises, utilice la función ("escala de imagen"), que le permite establecer el rango de valores de intensidad. escala los datos de imagen para utilizar el mapa de colores completo.imagescimagesc Utilice la forma de dos entradas para mostrar una imagen en escala de grises, por ejemplo:imagesc

imagesc(I,[0 1]); colormap(gray); 

El segundo argumento de entrada para especificar el intervalo de intensidad deseado.imagesc La función se muestra asignando el primer valor del intervalo (normalmente 0) a la primera entrada de mapa de colores y el segundo valor (normalmente 1) a la última entrada de mapa de colores.imagescI Los valores entre ellos se distribuyen linealmente a lo largo de los colores del mapa de color restante.

Aunque es convencional para mostrar imágenes en escala de grises utilizando un mapa de colores en escala de grises, es posible utilizar otros mapas de colores. Por ejemplo, las siguientes instrucciones muestran la imagen en escala de grises en tonos de azul y verde:I

imagesc(I,[0 1]); colormap(winter);

Para mostrar una matriz con un rango arbitrario de valores como una imagen en escala de grises, utilice el formulario de argumento único de.Aimagesc Con un argumento de entrada, asigna el valor mínimo de la matriz de datos a la primera entrada de mapa de colores y asigna el valor máximo a la última entrada de mapa de colores.imagesc Por ejemplo, estas dos líneas son equivalentes:

imagesc(A); colormap(gray) imagesc(A,[min(A(:)) max(A(:))]); colormap(gray)

Imágenes RGB (truecolor)

Una imagen RGB, a veces denominada imagen, se almacena como una matriz de datos de-por--por-3 que define los componentes de color rojo, verde y azul para cada píxel individual.Truecolormn Las imágenes RGB no utilizan una paleta. El color de cada píxel viene determinado por la combinación de las intensidades rojas, verdes y azules almacenadas en cada plano de color en la ubicación del píxel. Los formatos de archivo de gráficos almacenan imágenes RGB como imágenes de 24 bits, donde los componentes rojo, verde y azul son de 8 bits cada uno. Esto produce un potencial de 16 millones colores. La precisión con la que una imagen de la vida real se puede replicar ha llevado al apodo de "imagen truecolor."

Una matriz RGB puede ser de clase, o.MATLAB®doubleuint8uint16 En una matriz RGB de clase, cada componente de color es un valor entre 0 y 1.double Un píxel cuyos componentes de color son (0, 0, 0) se muestra como negro y un píxel cuyos componentes de color son (1, 1, 1) se muestra como blanco. Los tres componentes de color de cada píxel se almacenan a lo largo de la tercera dimensión de la matriz de datos. Por ejemplo, los componentes de color rojo, verde y azul del píxel (10, 5) se almacenan en, y, respectivamente.RGB(10,5,1)RGB(10,5,2)RGB(10,5,3)

Para visualizar la imagen de color trueque, utilice la función:RGBimage

image(RGB) 

La siguiente figura muestra una imagen RGB de la clase.double

Para determinar el color del píxel en (2, 3), mira el triplete RGB almacenado en (2, 3, 1:3). Supongamos que (2, 3, 1) contiene el valor, (2, 3, 2) contiene y (2, 3, 3) contiene.0.51760.16080.0627 El color del píxel en (2, 3) es

0.5176 0.1608 0.0627