>http://ninedegreesbelow.com/photography/srgb-profile-comparison.html

Interesting article, thanks for the link.  Out of curiosity, where does
the Microsoft sRGB profile (as delivered with Windows, i.e., sRGB Color
Space Profile.icm) fall in the table?  Or is it there and I just don't
realize it?


By the way, to further the original question, an approach that can work
(I'm using it) to operate on non-linear image data linearly is this:

1.  Derive the general tone and reverse tone curves of an image's
profile by passing grayscale values from black to white through a
transform from the image's profile to a created linear working profile.
Use the results of that to build tone and inverse tone curves and smooth
them.

2.  Use optimized conversion processes using the tone curve data from
step 1 to access the pixels of the image.  In other words, the act of
reading a pixel removes the gamma precompensation and the act of writing
a pixel restores it.

In my case, no matter how the image is stored my pixel access routines
provide and expect four single precision floating point numbers (R, G,
B, A) that can be then be operated on mathematically by common routines.
Using highly optimized SSE operations (noting that the RGBA values fit
nicely in an __m128) and table lookups it's actually reasonably
efficient.

This facilitates linear math operations on image data without having to
come up with some kind of linearized working version of an image profile
and without transforming every pixel of an image to one using a working
profile with a deeper data format and thus using up a lot of RAM.

Since the reverse gamma operation is done when writing as reading,
results actually come out pretty accurate.  Using linear math to operate
on pixels really shows in the output quality.

-Noel



------------------------------------------------------------------------------
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to