imadjust
карты low
на bottom
, и high
на top
. По умолчанию значения между low
и high
линейно сопоставлены со значениями между bottom
и top
. Для примера значение на полпути между low
и high
соответствует значению на полпути между bottom
и top
.
imadjust
может принять дополнительный аргумент, который задает коэффициент гамма- коррекции. В зависимости от значения гаммы, отображение между значениями в вход и выходные изображения может быть нелинейным. Для примера значение на полпути между low
и high
может соответствовать значению, большему или меньшему, чем значение, между bottom
и top
.
Гамма может быть любым значением от 0 до бесконечности. Если гамма равна 1 (по умолчанию), отображение линейное. Если гамма меньше 1, отображение взвешивается к более высоким (ярким) выходным значениям. Если гамма больше 1, отображение взвешивается к более низким (более темным) выходным значениям.
Рисунок иллюстрирует эту взаимосвязь. Три кривые преобразования показывают, как значения отображаются, когда гамма меньше, равна и больше 1. (В каждом графике ось X представляет значения интенсивности во входном изображении, а ось Y представляет значения интенсивности в выходном изображении.)
Графики, показывающие три различных настройки гамма- Коррекции
Этот пример показывает, как задать гамму при корректировке контраста с помощью функции imadjust. По умолчанию imadjust использует значение гаммы 1, что означает, что он использует линейное отображение между значениями интенсивности в оригинальном изображении и выходном изображении. Значение гаммы менее 1 взвешивает отображение к более высоким (ярким) выходным значениям. Значение гаммы более чем на 1 вес выводит значения к более низким (более темным) выходным значениям.
Чтение изображения в рабочую область. Этот пример читает индексированное изображение и затем преобразует его в полутоновое изображение.
[X,map] = imread('forest.tif');
I = ind2gray(X,map);
Настройте контрастность, задав значение гаммы менее 1 (0,5). Заметьте, что в вызове imadjust
пример задает областей значений данных входов и выходных изображений как пустые матрицы. Когда вы задаете пустую матрицу, imadjust
использует область значений по умолчанию [0,1]. В примере обе области значений остаются пустыми. Это означает, что гамма- коррекция применяется без какой-либо другой настройки данных.
J = imadjust(I,[],[],0.5);
Отобразите оригинальное изображение с скорректированным контрастом изображением.
imshowpair(I,J,'montage')