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

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

Примечание

Необходимо задать интенсивность как значения от 0 до 1 независимо от класса I. Если I является uint8, значения, которые вы поставляете, умножаются на 255, чтобы определить фактические значения для использования; если I является uint16значения умножаются на 65535. Чтобы узнать об альтернативном способе автоматического задания этих пределов, смотрите раздел «Автоматическое задание пределов корректировки интенсивности изображения».

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

В этом примере показано, как задать пределы корректировки контаста как область значений с помощью 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')

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

Автоматическая установка пределов корректировки интенсивности изображения

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

Эта функция вычисляет гистограмму изображения и определяет пределы корректировки автоматически. The 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 Страница с описанием для получения дополнительной информации.

Для просмотра документации необходимо авторизоваться на сайте