HDR в TIF на Matlab

Доброе утро,

Я решил опубликовать эту новую тему, потому что я не знаю, как преобразовать набор изображений hdr в tif (я не знаю, возможно ли это с помощью Matlab (обычно я использовал программное обеспечение для обработки изображений ERDAS). Что я пытаюсь сделать следующее:

myFolder= 'G:\HDR\2'
filePattern = fullfile(myFolder, '*.hdr');
hdrFiles = dir(filePattern);

for k = 1:length(hdrFiles)
  baseFileName = hdrFiles(k).name;
  fullFileName = fullfile(myFolder, baseFileName);

  hdr = hdrread(fullFileName);
  rgb = tonemap(hdr);
  hdrwrite (hdr, filename) % I don't know how to indicate .TIF on that part
end

Я не знаю, как преобразовать файлы hdr в tif. После этого ошибка следующая:

Error using hdrread>readHeader (line 62)
Not a Radiance file.

Error in hdrread (line 29)
fileinfo = readHeader(fid);

Может быть, что-то не так с кодом или невозможно преобразовать эти файлы с помощью Matlab?

Заранее спасибо всем! Любая помощь будет признательна!


person user1578688    schedule 10.07.2014    source источник
comment
hdrwrite записывает файлы hdr. Вы можете преобразовать hdr в RGB, используя tonemap, и используйте imwrite, чтобы записать файл tif.   -  person Cecilia    schedule 10.07.2014
comment
После сохранения в формате tif вы также не сможете использовать hdrread, чтобы открыть файл, так как он открывает только файлы hdr. Вам потребуется использовать imread.   -  person Cecilia    schedule 10.07.2014
comment
Спасибо 2cents за вашу помощь! Я закончил код этой частью (imwrite(rgb, fullFileName)) но все равно получаю то же сообщение: Not a Radiance file. Ошибка в hdrread (строка 29) fileinfo = readHeader(fid);   -  person user1578688    schedule 10.07.2014
comment
Вы читаете строку 29 в файле hdr? Если это так, ваш формат hdr может не совпадать с форматом hdr Matlab. Как вы создаете изображения hdr?   -  person Cecilia    schedule 10.07.2014
comment
С помощью инструмента fmask (code.google.com/p/fmask)!   -  person user1578688    schedule 21.07.2014
comment
Инструмент fmask не создает изображение hdr. Его основной вывод XXXFmask — это маска, идентифицирующая землю, воду, снег и облака. Если это файл, который вы пытаетесь сохранить, я бы просто использовал save или imwrite. Если вы хотите сделать HDR-изображение, я бы попробовал makehdr.   -  person Cecilia    schedule 21.07.2014
comment
Спасибо! Ранее я преобразовал формат hdr в tif с помощью другого программного обеспечения, потому что до сих пор не знаю, как с ним работать.   -  person user1578688    schedule 23.07.2014


Ответы (1)


Для JPEG это формат с низким динамическим диапазоном. Поэтому, если вы создаете изображение с высоким динамическим диапазоном, вам не нужно сохранять его в формате с низким динамическим диапазоном. Вы хотите сохранить его в формате, который может содержать полный динамический диапазон (TIFF, PSD/PSB, EXR, HDR и т. д.).

Вы можете применить тональную компрессию для преобразования HDR-изображения в LDR, а затем сохранить его в формате LDR. Но это уже не HDR-изображение. попробуйте этот редактор, если вы используете mac os macphun и удачи!

person Alex Johnson    schedule 30.11.2015