Работа с изображениями расширенного динамического диапазона

Динамический диапазон относится к области значений уровней яркости от темного до света. Динамический диапазон реальных сцен может быть довольно высоким. Изображения расширенного динамического диапазона (HDR) пытаются получить целую тональную область значений реальных сцен (названный scene-referred), с помощью 32-битных значений с плавающей точкой, чтобы сохранить каждый цветовой канал. Изображения HDR содержат высокий уровень детали, близко к области значений человеческого видения. Тулбокс включает функции для чтения, создания и записи изображений HDR и оператора тональной карты для отображения изображений HDR на компьютерном мониторе.

Считайте изображение расширенного динамического диапазона

Чтобы считать изображение расширенного динамического диапазона в рабочую область MATLAB®, используйте функцию hdrread.

hdr_image = hdrread('office.hdr');

Выходным изображением hdr_image является m-by-n-by-3 изображение типа single.

whos
  Name        Size            Bytes    Class     Attributes

  hdr_image   665x1000x3      7980000  single

Обратите внимание, однако, что, прежде чем можно будет отобразить изображение расширенного динамического диапазона, необходимо преобразовать его в динамический диапазон, соответствующий экрану компьютера, процессу под названием tone mapping. Тональные алгоритмы отображения уменьшают масштаб динамического диапазона при попытке сохранить внешний вид оригинального изображения. Для получения дополнительной информации смотрите Изображение Расширенного динамического диапазона Отображения.

Создайте изображение расширенного динамического диапазона

Чтобы создать изображение расширенного динамического диапазона из группы низких изображений динамического диапазона, используйте функцию makehdr. Обратите внимание на то, что низкие изображения динамического диапазона должны быть пространственно указаны, и файлы изображений должны содержать метаданные EXIF. Задайте изображения низкого динамического диапазона в массиве ячеек.

hdr_image = makehdr(files);

Запишите изображение расширенного динамического диапазона в файл

Чтобы записать изображение расширенного динамического диапазона из рабочего пространства MATLAB в файл, используйте функцию hdrwrite.

hdrwrite(hdr,'filename');

Смотрите также

| |

Похожие темы