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.

Conversiones de espacio de color basadas en perfiles

Si dos colores tienen la misma colorimetría CIE, coincidirán.if viewed under the same conditions Sin embargo, debido a que las imágenes en color se producen típicamente para una amplia variedad de entornos de visualización, es necesario ir más allá de la simple aplicación del sistema CIE.

Por esta razón, el International color Consortium (ICC) ha definido un sistema de gestión de color (CMS) que proporciona un medio para comunicar la información de color entre los dispositivos de entrada, salida y visualización. El CMS utiliza el dispositivo que contiene la información de color específica a un dispositivo determinado.profiles Los proveedores que admiten CMS proporcionan perfiles que caracterizan la reproducción del color de sus dispositivos y métodos, denominados Módulos de gestión de color (CMM), que interpretan el contenido de cada perfil y realizan el procesamiento de imágenes necesario.

Los perfiles de dispositivo contienen la información que los sistemas de administración de color necesitan para traducir datos de color entre dispositivos. Cualquier conversión entre espacios de color es una transformación matemática de algún espacio de dominio a un espacio de rango. Con las conversiones basadas en perfiles, el espacio de dominio suele llamarse el y el espacio de rango se llama el.source spacedestination space En el modelo de gestión de color ICC, los perfiles se utilizan para representar los espacios de origen y de destino.

Para obtener más información sobre los sistemas de gestión de color, vaya al sitio web de International color Consortium, www.color.org.

Lea perfiles ICC

Para leer un perfil ICC en el espacio de trabajo, utilice la función.MATLAB®iccread En este ejemplo, la función lee el perfil del espacio de color que describe los monitores de color.

P = iccread('sRGB.icm');

Puede utilizar la función para buscar perfiles de color ICC en el sistema o para encontrar un perfil de color ICC concreto cuya descripción contenga una determinada cadena de texto.iccfind Para obtener el nombre del directorio que es el repositorio predeterminado del sistema para los perfiles ICC, utilice.iccroot

Devuelve el contenido del perfil en la estructura.iccreadP Todos los perfiles contienen un encabezado, una tabla de etiquetas y una serie de elementos etiquetados. El encabezado contiene información general sobre el perfil, como la clase de dispositivo, el espacio de color del dispositivo y el tamaño del archivo. Los elementos etiquetados, o etiquetas, son las construcciones de datos que contienen la información utilizada por la CMM. Para obtener más información sobre el contenido de esta estructura, consulte la página de referencia de la función.iccread

Utilizando, puede leer los formatos de perfil ICC versión 2 (ICC. 1:2001-04) o versión 4 (ICC. 1:2001-12).iccread Para obtener información detallada sobre estas especificaciones y sus diferencias, visite el sitio web de ICC,.http://www.color.org

Escriba información de perfil ICC en un archivo

Para exportar información de perfil ICC desde el espacio de trabajo a un archivo, utilice la función.MATLABiccwrite En este ejemplo se lee un perfil en el área de trabajo y, a continuación, se escribe la información de perfil en un nuevo archivo.MATLAB

P = iccread('sRGB.icm'); P_new = iccwrite(P,'my_profile.icm');

Devuelve el perfil que escribe en el archivo porque puede ser diferente del perfil de entrada.iccwriteP_newP Por ejemplo, actualiza el campo para que coincida con el nombre del archivo especificado como segundo argumento.iccwriteFilenameP

Cuando crea el archivo de salida, comprueba la validez de la estructura de Perfil de entrada.iccwrite Si faltan campos obligatorios, devuelve un mensaje de error.iccwrite Para obtener más información acerca de los datos de perfil ICC de escritura en un archivo, consulte la página de referencia de función.iccwrite Para determinar si una estructura es un perfil ICC válido, utilice la función.isicc

Utilizando, puede exportar la información de perfil en los formatos de perfil ICC versión 2 (ICC. 1:2001-04) o versión 4 (ICC. 1:2001-12).iccwrite El valor del campo en el encabezado del perfil de archivo determina la versión de formato.Version Para obtener información detallada sobre estas especificaciones y sus diferencias, visite el sitio web de la CCI, www.color.org.

Convertir RGB a CMYK utilizando perfiles ICC

En este ejemplo se muestra cómo convertir datos de color del espacio de color RGB utilizado por un monitor en el espacio de color CMYK utilizado por una impresora. Esta conversión requiere dos perfiles: un perfil de monitor y un perfil de impresora. El espacio de color de origen en este ejemplo es monitor RGB y el espacio de color de destino es CMYK de la impresora:

Importe datos de espacio de color RGB. Este ejemplo importa una imagen de color RGB en el espacio de trabajo.MATLAB

I_rgb = imread('peppers.png');

Lea perfiles ICC. Lea los perfiles de origen y de destino en el espacio de trabajo.MATLAB Este ejemplo utiliza el perfil sRGB como el perfil de origen. El perfil sRGB es un espacio de color estándar de la industria que describe un monitor de color.

inprof = iccread('sRGB.icm');

Para el perfil de destino, el ejemplo utiliza un perfil que describe una impresora de color determinada. El proveedor de la impresora suministra este perfil. (El siguiente perfil y varios otros perfiles útiles se pueden obtener como descargas desde.)www.adobe.com

outprof = iccread('USSheetfedCoated.icc');

Cree una estructura de transformación de color. Debe crear una estructura de transformación de color para definir la conversión entre los espacios de color de los perfiles. Utilice la función para crear la estructura, especificando una cadena de tipo de transformación como argumento.makecform En este ejemplo se crea una estructura de transformación de color que define una conversión de datos de color RGB a datos de color CMYK. La conversión de espacio de color puede implicar una conversión intermedia en un espacio de color independiente del dispositivo, denominado espacio de conexión de perfil (PCS), pero esto es transparente para el usuario.

C = makecform('icc',inprof,outprof);

Realice la conversión. Utilice la función para realizar la conversión, especificando como argumentos los datos de color que desea convertir y la estructura de transformación de color que define la conversión.applycform La función devuelve los datos convertidos.

I_cmyk = applycform(I_rgb,C);

Escriba los datos convertidos en un archivo. Para exportar los datos CMYK, utilice la función, especificando el formato TIFF.imwrite Si el formato es TIFF y los datos son un array m-by-n-by-4, escribe los datos CMYK en el archivo.imwrite

imwrite(I_cmyk,'pep_cmyk.tif','tif')

Para comprobar que los datos CMYK se han escrito en el archivo, utilícese para obtener información sobre el archivo y ver el campo.imfinfoPhotometricInterpretation

info = imfinfo('pep_cmyk.tif'); info.PhotometricInterpretation 
ans =    'CMYK'

¿Qué es el render Intent en conversiones basadas en perfiles?

Para la mayoría de los dispositivos, el rango de colores reproducibles es mucho menor que el rango de colores representado por el PCS. Es por este motivo que se definen cuatro intenciones de representación (o técnicas de asignación de gama) en el formato de perfil. Cada uno tiene distintos equilibrios estéticos y de precisión de color.

Al crear una estructura de transformación de color basada en perfiles, puede especificar la intención de representación para el origen, así como los perfiles de destino. Para obtener más información, consulte la información de referencia.makecform