Green tint in dual ISOs and cernoice output

Started by engardeknave, January 31, 2014, 11:00:49 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Marsu42

Quote from: a1ex on April 15, 2014, 09:36:54 AM
With some lenses, even the dominant color of the background leaks onto the main subject. So if you have an animal in the middle of some green grass (you know this one better), you may have to adjust the tint towards magenta.

Thank the maker for ACR's wb adjustment brush, tint bleed becomes prominent after pulling down highlights which kills the smooth rolloff and exposes the color cast. Also in the flash shadows with high dr dual_iso the flash is usually magenta-ish, and this isn't adjustable with a cto filters that I usually have on my flashes... that's how I came to get to know the tint adjustment :-p

philmoz

There is a small discrepancy in the white balance Temp & Tint values shown in Lightroom for a dual-iso converted DNG, compared to the equivalent normal CR2 image.

Example:




TypeTempTint
Normal CR26000+6
Dual-ISO DNG5900-3

The AsShotNeutral values are the same, so the white balance calculation in cr2hdr is working - at least for this image.

The difference is not very large, so it might not be worth the effort to fix; but I have found a way to make Lightroom calculate identical Temp and Tint values.

The solution is to include the ColorMatrix2, CameraCalibration1, CameraCalibration2, CalibrationIlluminant2, ForwardMatrix1 and ForwardMatrix2 values for the camera in the DNG file. It also requires setting CalibrationIlluminant1 to 'Standard Light A' and CalibrationIlluminant2 to D65.

I've tested this with cr2hdr 'classic' (5D3-123 branch), and with cr2hdr-20bit.

At the moment my fix changes the raw_info structure, which a1ex tells me will break compatibility with other things.

I can probably develop a fix without modifying raw_info; but I'm not sure it's worth the effort - is anyone interested in having the additional color calibration data in the DNG files?

Phil.

Audionut

I don't see a problem pushing your changes to the 20bit branch.  I think the idea is not to have your raw_info structure changes in the unified branch, that would lead to lots of complaining.

a1ex

When the 20-bit branch will be merged back, the modified raw_info structure will not be funny.

What about updating the matrices via exiftool, at the end? May be a little slower, but we already call exiftool to copy the tags from CR2.

philmoz

Quote from: a1ex on June 14, 2014, 06:13:32 AM
When the 20-bit branch will be merged back, the modified raw_info structure will not be funny.

What about updating the matrices via exiftool, at the end? May be a little slower, but we already call exiftool to copy the tags from CR2.

The version of exiftool I'm using (OS/X 9.63) doesn't understand the color calibration data from CR2 files - if it did then these tags would already be getting copied.

Maybe it's an exiftool problem on my system? Do you see the additional tags in your converted DNG files?

The idea I had for the raw_info struct would be to use a custom #define to allow cr2hdr to include the additional data:

    int32_t calibration_illuminant1;
    int32_t color_matrix1[18];      // DNG Color Matrix
#if defined(RAW_INFO_EXTRA_CALIBRATION)
    // Include additional color calibration details in DNG file for cr2hdr
    int32_t calibration_illuminant2;
    int32_t color_matrix2[18];
    int32_t camera_calibration1[18];
    int32_t camera_calibration2[18];
    int32_t forward_matrix1[18];
    int32_t forward_matrix2[18];
#endif


Phil.

ayshih

I thought I'd point out a relevant thread regarding the calibration matrices and illuminants: http://www.magiclantern.fm/forum/index.php?topic=10119.0
Canon EOS 50D | 17–40mm f/4L & 70–300mm f/4.5–5.6 DO IS | Lexar 1066x

philmoz

Quote from: ayshih on June 14, 2014, 09:04:26 AM
I thought I'd point out a relevant thread regarding the calibration matrices and illuminants: http://www.magiclantern.fm/forum/index.php?topic=10119.0

Thanks for that.

Didn't realise that the CameraCalibration matrices were actually camera specific (my 5D3 is very different to the values in that thread).
Removing these two matrices makes the problem worse than the current single matrix and illuminant - back to the drawing board.

Phil.

a1ex

Quote from: philmoz on June 14, 2014, 06:25:04 AM
The version of exiftool I'm using (OS/X 9.63) doesn't understand the color calibration data from CR2 files - if it did then these tags would already be getting copied.

These matrices are not in the original CR2 - they are created by Adobe DNG converter.

philmoz

Quote from: a1ex on June 15, 2014, 09:42:18 PM
These matrices are not in the original CR2 - they are created by Adobe DNG converter.

So is this hard wired into the DNG converter program or is there some other data in the CR2 file that it uses?

If the CameraCalibration matrices are specific to a particular camera (not model), then there should be some data in the CR2 file that Adobe is using.

Unless the different values I'm seeing are because it's a new version of the DNG converter.

Phil.

a1ex

Right, CameraCalibration is specific to each body.

You can see some extra tags with exiftool -u -U (unknown tags).