50% Gray in RGB, Lab ang Gray-gamma 2.2: why are different?

Started Jan 15, 2013 | Discussions thread
Shop cameras & lenses ▾
technoid Senior Member • Posts: 1,805

NeroMetalliko wrote:

technoid wrote:

Pretty good improvement. Keep us updated.

A fast update:

I have succesfully implemented L*a*b* to AdobeRGB transformation (and inverse) as per Lindbloom equations. This allowed me to build a correction curve with 255 possible levels instead of 100. As expected the performance improved: with a single curve I was able to match the results obtained using the two L* curves before listed. Using then a second RGB curve I got near perfect linearity:

RMS error: 0.34, max: 0.7, min: -0.37, average: 0.17; (Dmax: 2.19, Dmin: 0.04)

Before correction was RMS: 2.97, max: 2.22, min: -4.79, average: -2.3; (Dmax: 2.24, Dmin 0.04)

Nice work.

To be very picky I have lost a 0.05 of Dmax because maybe I have slighly "overcorrected" a bit, but the results are really amazing and this test shows that this solution is perfectly working.

No image conversion needed and curves easy to apply in AdobeRGB and/or Gray gamma 2.2 working spaces, granting in both cases the same degree of correction.

I think I have reached the maximum level of performance achievable with this approach.

I took a look at Argyll and there are a ton of things in it but didn't see anything dealing with B&W only. That would be a great addition and really pretty easy. I suppose I could download the source but am not really motivated. Matlab hack works well and most of my work is color and I get good results with X-rite's stuff.

I have tried Argyll and found immediately that pure gray patches based .icc profiles are not supported, and (it seems) not planned in the near future...

Argyll is still great for color, but for pure B&W (RGB) .icc profiles only QTR seems to be working. I will try it again, but it seems to me that the linearization performed by QTR is far from the level I have reached with my curves approach.

I have downloaded the .icc specifications, because I have no knowledge of the .icc file structure, but, from what I have seen, it seems to me that self-doing an .icc profile based on measurements with a full simple correction curve inside is not so immediate to do, and will require a lot of learning/programming...

You can grab one of the profile inspector sample exe and source. This lets you inspect but not modify ICC profiles.

I'm interested in your Matlab workflow and I'm curious regarding how you create/modify .icc profiles. Being able to build a full 256 levels B&W (RGB) .icc profile is something I really desire, but currently I don't have the knowledge to do it by myself and probably the time required to learn/program all this stuff exceeds my possibilities.

Matlab reads in an ICC profile directly into a structure. You can tweak any of the LUT tables and formula pretty easily and write it back out.

In the next days I will try to optimize/simplify the curves approach. If I will be able to realize something simple and effective to use (and someone is interested) I can post my findings in a dedicated thread.


Keyboard shortcuts:
FForum PPrevious NNext WNext unread UUpvote SSubscribe RReply QQuote BBookmark MMy threads
Color scheme? Blue / Yellow