Имею Canon PowerShot G7. Можно сказать, что он изначально не очень предназначен для сьёмки рава. Но довольно компактный и в меру качественный фотик, но с грубым алгоритмом денойза у джпега. Поэтому иногда душа просит снять в раве)
Проблема в том, что там не слишком ровная область по которой считается уровень чёрного. Т.е. по краям активной области идут светлые/тёмные полосы, а по границе файла идут горячие пиксели. В итоге уровень чёрного выдаётся завышенный. В dcraw кода мало, и я нашёл где прибавить отступы. в libraw разобраться не могу.. Что тут можно сделать?
Вот ссылка на пример raw - https://docs.google.com/open?id=0B1k4sTU6soFLcFZJeGlYeVpVMGM
JPEG - https://docs.google.com/open?id=0B1k4sTU6soFLUEliekJvcFVvajA
в реальности у него black - 32, а libraw выдаёт - 44. А завышенный black после скалинга цветов делает изображение зеленоватым...(
Ещё вопрос, можно ли добавить поддержку G7 в libraw? Сейчас там (и в dcraw) используется матрица цвета от A640 и идентификация по размеру файла, он одинаковый) Хорошо бы чтобы libraw как-нибудь смог различать G7 и A640.
Если нужен, профиль dpc из dng4ps-2 для G7, у него вполне нормальные цвета - https://docs.google.com/open?id=0B1k4sTU6soFLeDFfbUkwWlpMMDQ
*dcp профиль не уточнил, что
*dcp профиль
не уточнил, что libraw я использую, например, через утилиту dngconverter (https://github.com/jmue/dngconvert) для конвертации crw в dng.
1) Код определения черной
1) Код определения черной рамки в LibRaw - точно такой же, как в dcraw.
Т.е. ваши правки - подойдут (код - в inernals/dcraw_common.cpp)
2) Для файла, что вы мне прислали - определились уровни черного (по каналам): 34,38,35,33 а не 44. LibRaw 0.15
3) Если вы используете LibRaw только в составе DNG-конвертера, то цветовой профиль внутри LibRaw вам не нужен, вы же все равно будете использовать dcp потом?
В любом случае, dcp-профили LibRaw не поддерживает.
1) да, спасибо, есть. В
1) да, спасибо, есть. В версии 14.7 функции crop_masked_pixels из dcraw.c не было. заюзаю альфу.
3) в dcp просто матрица цвета сохранена. её бы в код dcraw/libraw вставить, чтобы, например, darktable мог лучше crw показывать. но я не знаю есть ли способ как различить raw файлы G7 от A640. нет идей?