From: Armindo Da S. <tec...@wa...> - 2002-01-25 10:16:28
|
Hello, I would like to mix some Lab colors for example 10% Col1 + 20% col2 +90% = col 3 what would be the result value? note that this is for ink (0% =3D white) 100% =3D pure color, so it's = soustractive mixing not additive thanks Armindo |
From: <ma...@li...> - 2002-01-25 11:58:07
|
Hi Armindo, If I recall correctly, Lab does work additively.=20 If you want to add ink to see what is resulting color, you need to work=20 in CMYK. Add desired amout of ink by adding CMYK components and then convert to RGB or Lab by using reverse transform.=20 I.e, CMYK->RGB or CMYK->Lab. Example, to add some ink to a Lab color, convert color to CMYK,=20 add desired ink and back to lab. The impact of ink on color is=20 device dependent. Is this what you want to do? Regards, Marti. ----- Original Message -----=20 From: Armindo Da Silva=20 To: Lcm...@li...=20 Sent: Friday, January 25, 2002 6:54 AM Subject: [Lcms-user] Mixing Lab color Hello, I would like to mix some Lab colors for example 10% Col1 + 20% col2 = +90% col 3 what would be the result value? note that this is for ink (0% =3D white) 100% =3D pure color, so it's = soustractive mixing not additive thanks Armindo |
From: Armindo Da S. <tec...@wa...> - 2002-01-25 12:49:46
|
No it's not really what I want to do : let's say Col 1 is (in Lab) 80 /10/35 Col 2 is (in Lab) 30 /40/65=20 Col 3 is (in Lab) 10 /10/-15=20 I have to mix 10% of Col1 with 40% of col 2 and 90% of col 3 So what is the formula to have Lab of the resulting color But as I said it's should work on soustractive maneer, because 0% mean = no color and 100% mean full color |
From: <ma...@li...> - 2002-01-25 14:12:59
|
Hi, I'm not 100% sure, but I belive you cannot do that. Lab works as light, that is, additive. You add several=20 lights and got a resulting one. No problem since there=20 is no additional information needed. However, substractive colorspaces DOES need some=20 additional information, since they are also reflective.=20 You need to know illuminant (the source of light the inks are blocking off) and the media white of substrate (the=20 chromaticity of paper) the gamut (the whitest you can get,=20 that is no more that the substrate, and the darkest, the point at inks blocking all but ambience light) etc etc. So, a Lab color minus another lab color can result in a lot of=20 colors, on depending on a lot of things. It *is* device dependent at all :-) In the other hand, assuming you have a 100% difusse perfect=20 reflective substrate and same illuminant as Lab white point,=20 Lab is an euclidean space, and as a such should have=20 substraction defined. Do you have tried a plain vector substraction? Please note that real world is far away of this latter. If you want this = for anything remotely related with printing, your best move will be to = convert to CMYK and operate in a real-word >One solution would be to convert all lab color to CMYK : > >and doing c:=3D (x1*c1 + x2*c2 + x3*c3) / (x1+x2+x3) > m:=3D(x1*m1 + x2*m2 +x3* m3) / 3 (x1+x2+x3) > y .... > k .... > ... > and then converting to Lab. Aha! This is what I was suggesting on first e-mail. I guess this is the = best=20 way at all. It handles ALL aspects I was talking off. > the only problem is that I will lose precision (double conversion) No too much, if you use 16 bits, that is enough. At least this is the maximum precission you can get from Photoshop, to say an example. Regards, Mart=ED. ----- Original Message -----=20 From: Armindo Da Silva=20 To: Lcm...@li...=20 Sent: Friday, January 25, 2002 9:27 AM Subject: Re: [Lcms-user] Mixing Lab color No it's not really what I want to do : let's say Col 1 is (in Lab) 80 /10/35 Col 2 is (in Lab) 30 /40/65=20 Col 3 is (in Lab) 10 /10/-15=20 I have to mix 10% of Col1 with 40% of col 2 and 90% of col 3 So what is the formula to have Lab of the resulting color But as I said it's should work on soustractive maneer, because 0% mean = no color and 100% mean full color |
From: Armindo Da S. <tec...@wa...> - 2002-01-25 14:29:35
|
What is the name of the profile I should use for CMYK? ----- Original Message -----=20 From: Mart=ED Maria=20 To: Armindo Da Silva ; Lcm...@li...=20 Sent: Friday, January 25, 2002 7:33 PM Subject: Re: [Lcms-user] Mixing Lab color Hi, I'm not 100% sure, but I belive you cannot do that. Lab works as light, that is, additive. You add several=20 lights and got a resulting one. No problem since there=20 is no additional information needed. However, substractive colorspaces DOES need some=20 additional information, since they are also reflective.=20 You need to know illuminant (the source of light the inks are blocking off) and the media white of substrate (the=20 chromaticity of paper) the gamut (the whitest you can get,=20 that is no more that the substrate, and the darkest, the point at inks blocking all but ambience light) etc etc. So, a Lab color minus another lab color can result in a lot of=20 colors, on depending on a lot of things. It *is* device dependent at all :-) In the other hand, assuming you have a 100% difusse perfect=20 reflective substrate and same illuminant as Lab white point,=20 Lab is an euclidean space, and as a such should have=20 substraction defined. Do you have tried a plain vector substraction? Please note that real world is far away of this latter. If you want = this for anything remotely related with printing, your best move will be to = convert to CMYK and operate in a real-word >One solution would be to convert all lab color to CMYK : > >and doing c:=3D (x1*c1 + x2*c2 + x3*c3) / (x1+x2+x3) > m:=3D(x1*m1 + x2*m2 +x3* m3) / 3 (x1+x2+x3) > y .... > k .... > ... > and then converting to Lab. Aha! This is what I was suggesting on first e-mail. I guess this is = the best=20 way at all. It handles ALL aspects I was talking off. > the only problem is that I will lose precision (double conversion) No too much, if you use 16 bits, that is enough. At least this is the maximum precission you can get from Photoshop, to say an example. Regards, Mart=ED. ----- Original Message -----=20 From: Armindo Da Silva=20 To: Lcm...@li...=20 Sent: Friday, January 25, 2002 9:27 AM Subject: Re: [Lcms-user] Mixing Lab color No it's not really what I want to do : let's say Col 1 is (in Lab) 80 /10/35 Col 2 is (in Lab) 30 /40/65=20 Col 3 is (in Lab) 10 /10/-15=20 I have to mix 10% of Col1 with 40% of col 2 and 90% of col 3 So what is the formula to have Lab of the resulting color But as I said it's should work on soustractive maneer, because 0% = mean no color and 100% mean full color |
From: <ma...@li...> - 2002-01-25 16:25:02
|
Hi, > What is the name of the profile I should use for CMYK? Just the profile for the intended printer. Remember, CMYK is device dependent.=20 Regards, Marti. |
From: Armindo Da S. <tec...@wa...> - 2002-01-29 10:43:26
|
Marti, Concerning the mixing color a question about profile transform : To convert from Lab to CMYK I do : Lab2CMYKTransform:= cmsCreateTransform(hLabProfile, TYPE_Lab_16, hCMYKProfile, TYPE_CMYK_16, INTENT_PERCEPTUAL,0); to convert the mixing result to RGB I do CMYK2DisplayTransform:= cmsCreateTransform(hCMYKProfile, TYPE_CMYK_16, hDisplayProfile, TYPE_BGR_8, RenderIntent,0); where here RenderIntent is a variable that the user can set for using Saturation, perceptual.... So for the CMYK to RGB no problem. But about the Lab to CMYK what should I use? (here I use INTENT_PERCEPTUAL, but I don't know if I should also use RenderIntent) thanks Armindo |
From: <ma...@li...> - 2002-01-29 11:20:41
|
Hi, > So for the CMYK to RGB no problem. > But about the Lab to CMYK what should I use? (here I use INTENT_PERCEPTUAL, > but I don't know if I should also use RenderIntent) Is in this transform when render intent does make physicall sense... You have a Lab color and want to realize it in inks. If the color can be represented, then all intents are going to be same. But if color cannot be represented, then the intent does apply. What do you want on these unrepresentable colors? to maintain saturation? if so, use INTENT_SATURATION. If you want to keep contrast, then use INTENT_PERCEPTUAL. The profile will remap the color to the most proper, attending the rules the intent is specifying. Normally perceptual intents are used, but for pigments perhaps saturation could be usefull. Anyway it depends on how do you want to handle the unrealizable colors. Besides, your Lab->CMYK->RGB is doing a softproof of the printer, you should see in monitor the *exact* color as printed on paper. Of course assuming the printer profile is accurate and proper. Regards, Marti. ----- Original Message ----- From: "Armindo Da Silva" <tec...@wa...> To: "Martí Maria" <ma...@li...> Cc: <Lcm...@li...> Sent: Tuesday, January 29, 2002 7:23 AM Subject: [Lcms-user] Re: Mixing Lab color > Marti, > > Concerning the mixing color a question about profile transform : > > To convert from Lab to CMYK I do : > Lab2CMYKTransform:= cmsCreateTransform(hLabProfile, > TYPE_Lab_16, > hCMYKProfile, > TYPE_CMYK_16, > INTENT_PERCEPTUAL,0); > > to convert the mixing result to RGB I do > > CMYK2DisplayTransform:= cmsCreateTransform(hCMYKProfile, > TYPE_CMYK_16, > hDisplayProfile, > TYPE_BGR_8, > RenderIntent,0); > > where here RenderIntent is a variable that the user can set for using > Saturation, perceptual.... > > So for the CMYK to RGB no problem. > But about the Lab to CMYK what should I use? (here I use INTENT_PERCEPTUAL, > but I don't know if I should also use RenderIntent) > > thanks > > Armindo > > > _______________________________________________ > Lcms-user mailing list > Lcm...@li... > https://lists.sourceforge.net/lists/listinfo/lcms-user > > |
From: Armindo Da S. <tec...@wa...> - 2002-01-29 11:51:36
|
> Normally perceptual intents are used, but for pigments perhaps saturation > could be usefull. Anyway it depends on how do you want to handle the > unrealizable colors. My problem here is that the CMYK is only used for my transformation (color mixing) and at this moment I don't want to worry about unrealizable colors, I would like to worry only when converting from CMYK to RGB. I have noticed a "visible" difference between Lab-> and Lab->CMYK->RGB , of course that's normal because there's 2 transform, but my goal is to have the smallest difference possible > Besides, your Lab->CMYK->RGB is doing a softproof of the printer, you > should see in monitor the *exact* color as printed on paper. Of course assuming > the printer profile is accurate and proper. Humm, Maybe I have forgotten to tell, I use here the photoshop CMYK profile (not a printer one) because as I said I use only CMYK for mixing colors. Armindo |
From: <ma...@li...> - 2002-01-29 15:01:56
|
Armindo, Let's start from beginning. I do assume you want to somehow emulate in your app ink mixing. As said, I belive this is_very_ difficult, and can be done only very coarsely, but anyway, icc profiles seems to me the only reasonable way. Assuming you are using Lab as a means to store colors to be mixed, and want a Lab, or better a visualitation of resulting mixture. Ok. As said, this is _hardly_ dependent of printer. It involves a lot of things like substrate (paper), illuminant, etc, etc. Is not same mixing inks of one vendor that from other vendor, no matter all inks are same color. But since you are using a profile of printer, some of these factors are handled by the profile. Including mixing behaviour. All Ok right now. Printers, as well as inks, are real devices; not math models! So, there is no "universal CMYK", in the sense there are no perfect inks. The photoshop CMYK profile is really a "generic" separation. A good separation. This is handling reald world inks, and as such, it takes into consideration factors like 4 inks cannot represent all colors, but only a reduced amount. This is known as the gamut, and has important implications on how will work all your system. Since printers does have limited gamut, if you print a image, the profile does convert or collapse several colors. This is known as gamut remapping. Intents are only strategies to follow when any of these unrepresentable colors are found. Then, a CMYK separation profile does include 2 ways to operate: one, from Lab to CMYK and other from CMYK to Lab. The CMYK to Lab is the easy one. Is just a bunch of measurements of each ink combinations on Lab space. For example, amounts 19%, 15%, 16%, 1% of CMYK inks will result in Lab = 82, 2, 2. These are just measurements, and there is no problem since all amount of inks can be really painted on paper, and can be measured by a colorimeter. There are no undefined cases here. But then, it is the Lab -> CMYK. This is not easy, since it includes a amount of color science, device settings and *art* to guess the necessay amount of inks (the plates) of separation. Undercolor removal, black generation, dot gain, gamut remapping, paper absortion and a wide etc. The "magic" here is when you do a transform from Lab to CMYK. The photoshop profile has a lot of magic embedded, but it cannot do impossible things, and some Lab colors cannot be done by mixing any inks, so, the profile guesses a near color. This is going to give difference on almost any image. So, when you are doing Lab -> CMYK you are doing the separation, and when you do CMYK->Lab you are only measuring the results of the separation. So, the the chain Lab -> CMYK -> Lab is really a softproof of the separation. The CMYK->Lab (measurement) is smart enough to deal with ink combinations that the separation will never give. Then you can play with the inks, and the measurement will return a educated guess on the mesurement of resulting color. No more, no less. So, trying to mix colors, would involve to convert the desired colors to CMYK, note that this _may_ move these colors, and you can preview the print by CMYK -> RGB, then operating on inks, and then again preview result by CMYK -> RGB. But again, this depends *entirely* on separation profile. Regards, Marti. ----- Original Message ----- From: "Armindo Da Silva" <tec...@wa...> To: "Martí Maria" <ma...@li...> Cc: <Lcm...@li...> Sent: Tuesday, January 29, 2002 8:32 AM Subject: Re: [Lcms-user] Re: Mixing Lab color > > Normally perceptual intents are used, but for pigments perhaps saturation > > could be usefull. Anyway it depends on how do you want to handle the > > unrealizable colors. > > My problem here is that the CMYK is only used for my transformation (color > mixing) and at this moment I don't want to worry about unrealizable colors, > I would like to worry only when converting from CMYK to RGB. > > I have noticed a "visible" difference between Lab-> and Lab->CMYK->RGB , of > course that's normal because there's 2 transform, but my goal is to have the > smallest difference possible > > > Besides, your Lab->CMYK->RGB is doing a softproof of the printer, you > > should see in monitor the *exact* color as printed on paper. Of course > assuming > > the printer profile is accurate and proper. > > Humm, Maybe I have forgotten to tell, I use here the photoshop CMYK profile > (not a printer one) because as I said I use only CMYK for mixing colors. > > Armindo > > > _______________________________________________ > Lcms-user mailing list > Lcm...@li... > https://lists.sourceforge.net/lists/listinfo/lcms-user > > |
From: Armindo Da S. <tec...@wa...> - 2002-01-25 13:46:39
|
One solution would be to convert all lab color to CMYK : and doing c:=3D (x1*c1 + x2*c2 + x3*c3) / (x1+x2+x3) m:=3D(x1*m1 + x2*m2 +x3* m3) / 3 (x1+x2+x3) y .... k .... if I 'm not wrong. and then converting to Lab. the only problem is that I will lose precision (double conversion) also, should I use CMY or CMYK? thanks Armindo |