Задайте контрастные пределы корректировки

Можно опционально задать область значений входных значений и выходных значений с помощью imadjust. Вы задаете эти области значений в двух векторах, которые вы передаете imadjust в качестве аргументов. Первый вектор задает минимум - и значения высокой интенсивности, которые вы хотите сопоставить. Второй вектор задает шкалу, по которой вы хотите сопоставить их.

Примечание

Необходимо задать интенсивность как значения между 0 и 1 независимо от класса I. Если I является uint8, значения, которые вы предоставляете, умножаются на 255, чтобы определить фактические значения, чтобы использовать; если I является uint16, значения умножаются на 65 535. Чтобы узнать об альтернативном способе установить эти пределы автоматически, смотрите Установленные Пределы Корректировки Интенсивности Изображений Автоматически.

Задайте пределы корректировки Contast как область значений

Этот пример показывает, как задать пределы корректировки конкурса как область значений с помощью функции imadjust. Этот пример уменьшает контраст изображения путем сужения области значений данных.

Считайте изображение в рабочую область.

I = imread('cameraman.tif');

Настройте контраст изображения, задав область значений значений, используемых в выходном изображении. В примере ниже, слой человека является слишком темным, чтобы показать любую деталь. imadjust сопоставляет область значений [0,51] в изображении входа uint8 к [128,255] в выходном изображении. Это значительно украшает изображение, и также расширяет динамический диапазон темных фрагментов оригинального изображения, делая намного легче видеть детали в слое. Обратите внимание, однако, что, потому что все значения выше 51 в оригинальном изображении сопоставлены с 255 (белыми) в откорректированном изображении, откорректированное изображение кажется размытым.

J = imadjust(I,[0 0.2],[0.5 1]);

Отобразите оригинальное изображение и контрастное откорректированное изображение.

imshowpair(I,J,'montage')

Установите пределы корректировки интенсивности изображений автоматически

Для более удобного способа задать пределы, используйте функцию stretchlim. (Функция imadjust использует stretchlim для своего самого простого синтаксиса, imadjust(I).)

Эта функция вычисляет гистограмму изображения и определяет пределы корректировки автоматически. Функция stretchlim возвращает эти значения как части в векторе, который можно передать в качестве аргумента [low_in high_in] imadjust; например:

I = imread('rice.png');
J = imadjust(I,stretchlim(I),[0 1]);

По умолчанию stretchlim использует значения интенсивности, которые представляют нижнюю часть 1% (0.01) и лучший 1% (0.99) из области значений как пределы корректировки. Путем обрезки экстремальных значений в обоих концах области значений интенсивности stretchlim делает больше комнаты в настроенном динамическом диапазоне для остающейся интенсивности. Но можно задать другие пределы области значений в качестве аргумента к stretchlim. Смотрите страницу с описанием stretchlim для получения дополнительной информации.