Гамма- Коррекция

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')

Figure contains an axes. The axes contains an object of type image.