Можно опционально указать диапазон входных значений и выходных значений с помощью imadjust. Вы указываете эти диапазоны в двух векторах, которые вы передаете imadjust в качестве аргументов. Первый вектор задает минимум - и значения высокой интенсивности, которые вы хотите сопоставить. Второй вектор задает шкалу, по которой вы хотите сопоставить их.
Примечание
Необходимо задать интенсивность как значения между 0 и 1 независимо от класса I. Если I uint8, значения, которые вы предоставляете, умножаются на 255, чтобы определить фактические значения, чтобы использовать; если I uint16, значения умножаются на 65 535. Чтобы узнать об альтернативном способе установить эти пределы автоматически, смотрите Установленные Пределы Корректировки Интенсивности Изображений Автоматически.
В этом примере показано, как указать, что корректировка конкурса ограничивает как область значений с помощью 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 страница с описанием для получения дополнительной информации.