-------- Original-Nachricht --------
Datum: Tue, 5 Dec 2006 14:18:40 +0200
Von: "Yaron Tadmor" <[EMAIL PROTECTED]>
An: "Lcms Liste" <lcms-user@lists.sourceforge.net>
Betreff: Re: [Lcms-user] alpha blending in LAB space

> I'll try to explain better what I do.
> I have several layers 1 to n, each with its own profile (let's call it
> profile-i). I'm blending them all together (similar to layers in
> PhotoShop) on a single canvas which has its own profile as well (let's
> call it profile-c). I use profile-c as the output profile for exported
> images from my software (the output of the application).

The question is, what result do you expect from a "blending" operation?

If you want to model/emulate for instance the behaviour of optical blending via 
semitransparent mirrors, or the effect of projection of two images onto the 
same screen, then basically you need to carry out the blending operation in a 
linear intensity space (e.g. XYZ or linear (gamma=1) RGB), since the modeled 
physical process involves additive color mixing.

But if you have different objectives, then you may want to do the operation in 
a different color space. For instance, if your desire is that a 50:50 blending 
between two colors should lie _perceptually_ midway between the two colors, 
then blending in CIELAB PCS may be more appropriate (or even better in CIECAMxx 
color appearance space, which has even better perceptual uniformity).

Device color spaces (for real devices) are possibly not so suitable for this 
operation in general, as they are not necessarily well-behved and may have 
strange non-linearities (but of course it depends on the device).

Probably you should compare blending in different color spaces, and finally 
choose that color space, whose result you like subjectively best.

(Btw, for XYZ or linear RGB, the use of 16 bits/channel is strongly recommended)

> Now we also
> have the screen profile I'm showing the user the data on (let's call it
> profile-s).
> 
> What I first did was this: For display, I convert all layers to
> profile-s, so I have n conversions profile-0->profile-s to
> profile-n->profile-s. Then I blend layers in profile-s. For output I do
> the same with the destination profile being profile-c. The problem here
> is that the blending output is different.
> That is, the result of the blending depends on the profile I'm blending
> in.
> 
> I figured out the proper thing to do, is to always convert layers to
> profile-c, blend, and then if I'm displaying convert the result to
> profile-s for display.

If the display is intended to show a soft proof for what you will get on the 
canvas, then yes, you should first build the final canvas image and then 
convert it to the display image.

Regards,
Gerhard

-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to