exponenta event banner

imadjust

Корректировка значений интенсивности изображения или цветовой карты

Описание

пример

J = imadjust(I) отображает значения интенсивности в оттенках серого I к новым значениям в J. По умолчанию imadjust насыщает нижний 1% и верхний 1% всех значений пикселей. Эта операция увеличивает контраст выходного изображения J.

Этот синтаксис эквивалентен imadjust(I,stretchlim(I)).

J = imadjust(I,[low_in high_in]) отображает значения интенсивности в I к новым значениям в J такие, что значения между low_in и high_in сопоставить со значениями от 0 до 1.

пример

J = imadjust(I,[low_in high_in],[low_out high_out]) отображает значения интенсивности в I к новым значениям в J такие, что значения между low_in и high_in сопоставить со значениями между low_out и high_out.

J = imadjust(I,[low_in high_in],[low_out high_out],gamma) отображает значения интенсивности в I к новым значениям в J, где gamma определяет форму кривой, описывающей взаимосвязь между значениями в I и J.

пример

J = imadjust(RGB,[low_in high_in],___) отображает значения в цветном изображении RGB к новым значениям в J. Для каждого цветового канала можно применить одно и то же сопоставление или уникальные сопоставления.

newmap = imadjust(cmap,[low_in high_in],___) сопоставляет значения в цветовой карте cmap к новым значениям в newmap. Для каждого цветового канала можно применить одно и то же сопоставление или уникальные сопоставления.

Примеры

свернуть все

Считывайте малоконтрастное изображение в оттенках серого в рабочую область и выводите его на экран.

I = imread('pout.tif');
imshow(I)

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

Отрегулируйте контраст изображения так, чтобы 1% данных был насыщен при низкой и высокой интенсивности, и отобразите его.

J = imadjust(I);
figure
imshow(J)

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

Считывайте малоконтрастное изображение в оттенках серого в рабочую область и выводите его на экран.

I = imread('pout.tif');
imshow(I);

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

Настройте контрастность изображения, задав пределы контрастности.

K = imadjust(I,[0.3 0.7],[]);
figure
imshow(K)

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

Прочтите изображение RGB в рабочую область и отобразите его.

RGB = imread('football.jpg');
imshow(RGB)

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

Настройте контрастность изображения RGB, указав пределы контрастности.

RGB2 = imadjust(RGB,[.2 .3 0; .6 .7 1],[]);
figure
imshow(RGB2)

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

Чтение изображения в рабочую область и его отображение.

I = imread('pout.tif');
imshow(I)

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

Рассчитайте стандартное отклонение и среднее значение изображения для растяжения.

n = 2;  
Idouble = im2double(I); 
avg = mean2(Idouble);
sigma = std2(Idouble);

Отрегулируйте контраст на основе стандартного отклонения.

J = imadjust(I,[avg-n*sigma avg+n*sigma],[]);

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

imshow(J)

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

Входные аргументы

свернуть все

Изображение в градациях серого, заданное как числовая матрица m-на-n.

Типы данных: single | double | int16 | uint8 | uint16

Изображение Truecolor, указанное как числовой массив m-by-n-by-3.

Типы данных: single | double | int16 | uint8 | uint16

Цветовая карта, связанная с индексированным изображением, заданным в виде цифровой матрицы c-by-3 со значениями в диапазоне [0, 1]. Каждая строка представляет собой трехэлементный RGB-триплет, определяющий красный, зеленый и синий компоненты одного цвета карты цветов.

Типы данных: double

Пределы контрастности для входного изображения, указанные в одной из следующих форм:

Тип вводаСтоимостьОписание
Изображение в градациях серогоВектор 1-на-2 вида [low_in high_in]Задает пределы контрастности во входном изображении в градациях серого, которые требуется сопоставить со значениями в выходном изображении. Значения должны находиться в диапазоне [0 1.0]. Стоимость low_in должно быть меньше значения high_in.
Изображение RGB или цветовая картаМатрица 2 на 3 формы [low_RGB_triplet; high_RGB_triplet]Задает пределы контрастности во входном RGB-изображении или цветовой карте, которые необходимо сопоставить значениям в выходном изображении или цветовой карте. Каждая строка массива представляет собой триплет цветов RGB. Значения должны находиться в диапазоне [0 1]. Стоимость low_RGB_triplet должно быть меньше значения high_RGB_triplet.
Изображение RGB или цветовая картаВектор 1-на-2 вида [low_in high_in]Задает пределы контрастности во входном RGB-изображении, которые необходимо сопоставить значениям в выходном изображении. Каждое значение должно находиться в диапазоне [0 1.0]. Стоимость low_in должно быть меньше значения high_in. Если задан вектор 1 на 2 с RGB-изображением или цветовой картой, то imadjust применяет одинаковую настройку к каждой цветовой плоскости или каналу.
Все типы[] Если указать пустую матрицу ([]), то imadjust использует пределы по умолчанию [0 1].

imadjust значение клипов ниже low_in и выше high_in: Значения ниже low_in сопоставить с low_out и значения выше high_in сопоставить с high_out.

Типы данных: single | double

Пределы контрастности для выходного изображения, указанные в одной из следующих форм:

Тип вводаСтоимостьОписание
Изображение в градациях серогоВектор 1-на-2 вида [low_out high_out]Задает пределы контрастности выходного изображения в градациях серого. Каждое значение должно находиться в диапазоне [0 1].
Изображение RGB или цветовая картаМатрица 2 на 3 формы [low_RGB_triplet; high_RGB_triplet]Задает пределы контрастности выходного изображения RGB или цветовой карты. Каждая строка массива представляет собой триплет цветов RGB. Значения должны находиться в диапазоне [0 1].
Изображение RGB или цветовая картаВектор 1-на-2 вида [low_out high_out]Задает пределы контрастности в выходном изображении. Каждое значение должно находиться в диапазоне [0 1]. Если задан вектор 1 на 2 с RGB-изображением или цветовой картой, то imadjust применяет одинаковую регулировку к каждой плоскости или каналу.
Все типы[] Если указать пустую матрицу ([]), то imadjust использует пределы по умолчанию [0 1].

Если high_out меньше, чем low_out, то imadjust изменяет изображение на противоположное, как в фотографическом негативе.

Типы данных: single | double

Форма кривой, описывающая взаимосвязь входных и выходных значений, заданная как неотрицательный скаляр или числовой вектор 1 на 3.

  • Если gamma меньше 1, то imadjust взвешивает отображение в сторону более высоких (ярких) выходных значений.

  • Если gamma больше 1, то imadjust взвешивает отображение в сторону более низких (темных) выходных значений.

  • Если gamma является вектором 1 на 3, то imadjust применяет уникальную гамму к каждому цветовому компоненту или каналу.

  • Если опустить аргумент, то gamma по умолчанию: 1 (линейное отображение).

Типы данных: double

Выходные аргументы

свернуть все

Скорректированное изображение, возвращаемое как изображение в градациях серого или RGB. J имеет тот же размер и класс, что и входное изображение в оттенках серого I или изображение truecolor RGB.

Типы данных: single | double | int16 | uint8 | uint16

Скорректированная цветовая карта, возвращаемая в виде цифровой матрицы c-by-3 того же класса, что и входная цветовая карта, map.

Типы данных: single | double

Расширенные возможности

..

См. также

| |

Представлен до R2006a