Summary: | Add an button in the Whitebalance Settings to load Camera WB | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Arndt Braun <arndtbraun> |
Component: | Plugin-Editor-WhiteBalance | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | REPORTED --- | ||
Severity: | wishlist | CC: | ahuggel, caulier.gilles, lexa, tschenser |
Priority: | NOR | Keywords: | junior-jobs |
Version: | 1.3.0 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Arndt Braun
2010-05-04 12:29:36 UTC
Andreas, From Exiv2, there is a way to extract camera white balance value in °K, or a t least some numerical information which can be converted later to °K ? Gilles Caulier All I can say is that WB information is kept in the makernotes in whatever proprietary format each camera maker chose to store it there. Even for a given camera brand, this can be confusing, e.g., Exiv2 has more than 10 different Olympus makernote tags which contain the word "whitebalance"... If we know which information (tags) to use and how to convert them to a temperature, then I'll be happy to add an "easy-access" function for this task to exiv2 so that it's transparent for applications. I imagine dcraw or ufraw would be the place to ask or check about WB info and formats, since they are also concerned about rendering the image. Andreas Right Andreas, Alex, what you can ask about libraw WB extraction from makernotes ? Gilles LibRaw extracts camera WB from file. So, if you want to use camera wb, just set params.use_camera_wb = 1; Alex, sorry, I though you misunderstood something, the question was not how to apply camera wb, it was how to get the temerature value for display. As I know we can take LibRaw's imgdata.color.cam_mul[] and compute it be a iterate function. See also Adobe DNG specification, section "Translating Camera Neutral Coordinates to White Balance xy Coordinates". Looks like http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_T.html is a implementation we want of. Jens Jens, LibRaw uses 3 (or 4 for two-different-greens cameras) scale coefficients for white balance. These coefficients are not camera independed, but includes both color balance and chanel sensitivity adjustment in one step. These coefficients are stored in Exif data (for 'as shot' balance), so it is straightforward way. It is impossible to separate sensitivity part from 'color temperature/tint' part without experiments with *each* supported camera (300+). You need test shot of good gray card under well-controlled light (5000K or so). I have no such data. Also, this is not good way because original data (provided by camera) are 3-4 coefficients (green one is 1.0 for many cameras). Adobe uses another way, similar for von Kries transformation. This way is theoretically right (althought, color from 'Raw Photo Processor' which uses 4-coefficients way is way better than from Adobe's software), but in practice it leads to more noise because weak noisy channels are mixed with strong one. Summary: 1) LibRaw uses 3(4) coefficients way, so any calling application should provide these data to postprocessing stage. 2) Cameras store these coefficients in Exif data, so it is easy to provide this coefficients to LibRaw (and LibRaw itself reads them). 3) If you want to play with Von Kries/Bradford white point adjustments, it is up to you, but starting point is camera's coefficients and you should provide same (may be, modified) coefficients to LibRaw postprocessing. Also, I see no way to deal with two-different-green cameras and von Kries/Bradford transformation. |