Libraw делает мои изображения слишком яркими по сравнению с собственным конвертером nikons

Кажется, что собственный инструмент nikons и фотошоп имеют возможность открыть изображение, как оно было снято.

но с использованием процессора libraws dcraw я не могу понять это.

вот моя реализация.

CV_EXPORTS_W int load_image(const char * path, cv::Mat & output)
{LibRaw RawProcessor;

int ret;

#define imgD RawProcessor.imgdata

imgD.params.use_camera_wb = 1;
imgD.params.use_auto_wb = 0;

if ((ret = RawProcessor.open_file(path)) != LIBRAW_SUCCESS)
{
fprintf(stderr, path, libraw_strerror(ret));
return -1;
}
if ((ret = RawProcessor.unpack()) != LIBRAW_SUCCESS)
{

return -1;
}

int check = RawProcessor.dcraw_process();
libraw_processed_image_t *image_ptr = RawProcessor.dcraw_make_mem_image(&check);

output = cv::Mat(cv::Size(image_ptr->width, image_ptr->height), CV_8UC3, image_ptr->data, cv::Mat::AUTO_STEP);
cv::cvtColor(output, output, 4);
}

Обновлен с изображением, чтобы показать, о чем я говорю:
Изображения как-то нормализуются. Если исходное изображение содержит большую область светлого матриала, общее изображение становится более темным. Я хочу иметь возможность просто читать необработанные данные изображений и нормализовать или обрабатывать их по-своему в opencv.

введите описание изображения здесь

Обновить

Основываясь на комментариях, я настроил яркость, но теперь проблема заключается в цветовых значениях пикселей, которые лучше всего увидеть здесь:

введите описание изображения здесь

Изображение слева — результат libraw, а справа — viewnx.
Кажется, что в изображении libraw есть некоторые цвета шума.

5

Решение

Необработанные данные хранятся в массиве LibRaw :: rawdata.raw_image []. Эти значения «максимально возможны» без чёрного вычитания и / или де-байеровской (демозаики).

Для доступа к этим данным вам нужно вызвать LibRaw :: open_file () и LibRaw :: unpack.

Также вы можете исключить некоторые шаги из обработки данных в LibRaw :: dcraw_process ():

 imgdata.params.no_interpolation=1 disables demosaic
imgdata.params.no_auto_scale=1 disables scaling from camera maximum to 64k
imgdata.params.no_auto_bright=1 disables auto brighten
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]