Динамический диапазон относится к области значений уровней яркости от темного до света. Динамический диапазон реальных сцен может быть довольно высоким. Изображения расширенного динамического диапазона (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');