RGB-2-CMYK (era: Re: [l-linux] Herramienta parea convertir bmp a jpg.)

Ernesto Hernandez-Novich emhn at telcel.net.ve
Wed Oct 9 13:43:06 CDT 2002


On Wed, 9 Oct 2002, JR wrote:
> > GIMP no soporta el modelo CMY(K) todavía, lo cual lo hace
> > inconveniente para trabajar imágenes que van a medio _impreso_. Tampoco
> > soporta Pantone, pero sólo porque se trata de una tecnología patentada
> > por la cual hay que pagar para poder implementar.
> >
> > GIMP trabaja con los modelos de color RGB y HSV.
>
> Estuve leyendo que para la versión de GIMP 2.0 se añadira el soporte al
> modelo CMYK (colores de impresión).

Si, porque va a tener una infraestructura de manipulación de color
completamente nueva, basada en utilizar 16 bits por componente de color.
Esto no es ni necesario ni suficiente para soportar CMYK, pero ya que
van a reescribir tal parte, es oportuno incluir este modelo (y el
soporte a otros que son bastante importantes como YCrCb, YIQ, YUV
y el modelo CIE puro).

> Hay otra aplicación de software libre llamada Scribus (buscar en
> http://web2.altmuehlnet.de/fschmid/) que aunque no la he usado, dice en la
> documentación http://www.atlantictechsolutions.com/scribusdocs/ que soporta
> CMYK y otras características tales como exportación a SVG (mediante un plugin
> disponible en la página de download) y PDF.

Scribus soporta cualquier modelo de color implementado en la librería
de manejo de colores lcm (apt-get install liblcms), que abstrae la
transformación entre los modelos de color aditivos, substractivos
y perceptivos tanto para imágenes estáticas como para video.
GIMP tiene embebida su propia librería de manejo de colores, puesto que
es anterior a la aparición de lcm.

El problema fundamental del soporte a CMYK es que se trata de un modelo
de color _substractivo_ que solamente tiene aplicación para medio impreso.
Cada fabricante de medio impreso tiene su propia "definición" de CMYK
basado en la calidad de sus tintas y las posibles configuraciones de papel
que usa. En otras palabras no hay un "standard" uniforme.

En un mensaje anterior afirmé que CMYK y RGB son complementarios (o
"inverso uno del otro") y eso no es totalmente cierto desde el punto
de pista _perceptual_ (lo que se "ve", en contraposición con lo que se
"calcula"). Hay colores en RGB que _no_ se pueden convertir fielmente a
CMYK; aunque _matemáticamente_ son complementarios (R = 1 - C),
_perceptualmente_ no son iguales [1]. Esto quiere decir que en muchos casos
el conversor debe _saber_ el modelo particular de CMYK que implementa
la impresora/plotter de salida a fin de ajustar la conversión.

Y el algoritmo de conversión que envié es un ejemplo de la falta de
standards [2]: En teoría C = 1 - R, M = 1 - G, Y = 1 - B, K = min(C,M,Y),
pero resulta que algunos fabricantes de impresoras, para vender más
tinta de peor calidad, ajustan C' = C - K, M' = M - K e Y' = Y - K.
Otros ajustan utilizando una proporción lineal, otros una no lineal.
Entonces, ¿cuál modelo utilizar en la conversión?

[1] La gama de colores (subconjunto del espectro o gamut) generable con el
    modelo aditivo RGB es mucho más amplia que la generable con el CMYK.
    Hay "más" colores RGB que CMYK. ¿Cómo manejar los huecos?
[2] El algoritmo que envié calcula min(R,G,B) en lugar de min(C,M,Y),
    de modo que debe sustituirse

    for (@rgb) { $min = $_ if $_ < $min; }
    return( map { 255 - $_ } @rgb, $min);

    por

    return((map { my $v = 255 - $_; $v < $min ? $min = $v : $v } @rgb), $min );

    para corregir el error y hacerlo más compacto. Nada como la
    programación funcional ;-).
-- 
Ernesto Hernández-Novich - Running Linux 2.4.19 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't apt-get it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3

------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list