exponenta event banner

jitterColorHSV

Случайное изменение цвета пикселей

Описание

пример

J = jitterColorHSV(I,Name,Value) корректирует цвет изображения RGB I со случайным выбором значения оттенка, насыщенности, яркости и контраста из цветового пространства HSV. Укажите диапазон каждого типа корректировки с помощью аргументов пары имя-значение.

Примеры

свернуть все

Чтение и отображение изображения.

I = imread('kobi.png');
imshow(I)

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

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

J1 = jitterColorHSV(I,'Contrast',0.4,'Hue',0.1,'Saturation',0.2,'Brightness',0.3);
J2 = jitterColorHSV(I,'Contrast',0.4,'Hue',0.1,'Saturation',0.2,'Brightness',0.3);
J3 = jitterColorHSV(I,'Contrast',0.4,'Hue',0.1,'Saturation',0.2,'Brightness',0.3);

Отображение скорректированных изображений в монтаже.

montage({J1,J2,J3},'Size',[1 3])

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

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

свернуть все

Изображение RGB с исходными значениями пикселей, заданными в виде числового массива m-by-n-by-3.

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

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: J = jitterColorHSV(I,'Hue',0.1)

Смещение тона, указанное как разделенная запятыми пара, состоящая из 'Hue' и одно из следующих значений. jitterColorHSV преобразует входное изображение RGB I в цветовое пространство HSV перед добавлением случайного значения в канал тона изображения. jitterColorHSV циклически переносит измененный оттенок в диапазон [0, 1] перед преобразованием дрожащего изображения HSV обратно в цветовое пространство RGB.

СтоимостьЗначение
Числовой скаляр в диапазоне [0, 1]Добавление случайного количества тона из равномерного распределения [-Hue Hue]
2-элементный числовой вектор с элементами в диапазоне [-1, 1]Добавьте случайное количество тона из непрерывного равномерного распределения в пределах указанного интервала. Второй элемент должен быть больше или равен первому элементу.

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

Смещение насыщения, указанное как пара, разделенная запятыми, состоящая из 'Saturation' и одно из следующих значений. jitterColorHSV преобразует входное изображение RGB I в цветовое пространство HSV перед добавлением случайного значения в канал насыщения изображения. jitterColorHSV приводит измененное насыщение к диапазону [0, 1] перед преобразованием дрожащего изображения HSV обратно в цветовое пространство RGB.

СтоимостьЗначение
Числовой скаляр в диапазоне [0, 1]Добавление случайной величины насыщения из равномерного распределения [-Saturation Saturation]
2-элементный числовой вектор с элементами в диапазоне [-1, 1]Добавьте случайную величину насыщения из непрерывного равномерного распределения в пределах указанного интервала. Второй элемент должен быть больше или равен первому элементу.

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

Смещение яркости, указанное как пара, разделенная запятыми, состоящая из 'Brightness' и одно из следующих значений. jitterColorHSV преобразует входное изображение RGB I в цветовое пространство HSV перед добавлением случайного значения в канал яркости (значения) изображения. jitterColorHSV приводит измененную яркость к диапазону [0, 1] перед преобразованием дрожащего изображения HSV обратно в цветовое пространство RGB.

СтоимостьЗначение
Числовой скаляр в диапазоне [0, 1]Добавление случайной величины яркости из равномерного распределения [-Brightness Brightness]
2-элементный числовой вектор с элементами в диапазоне [-1, 1]Добавьте случайную величину яркости из непрерывного равномерного распределения в пределах указанного интервала. Второй элемент должен быть больше или равен первому элементу.

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

Масштабный коэффициент контрастности, определяемый как разделенная запятыми пара, состоящая из 'Contrast' и одно из следующих значений. jitterColorHSV преобразует входное изображение RGB I в цветовое пространство HSV перед масштабированием канала яркости (значения) изображения на случайный коэффициент. jitterColorHSV приводит измененную яркость к диапазону [0, 1] перед преобразованием дрожащего изображения HSV обратно в цветовое пространство RGB.

СтоимостьЗначение
Положительное числоМасштабирование яркости на случайный коэффициент из равномерного распределения [1-Contrast 1+Contrast]
2-элементный числовой вектор положительных чиселМасштабирование яркости на случайный коэффициент из равномерного распределения в пределах заданного интервала. Второй элемент должен быть больше или равен первому элементу.

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

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

свернуть все

сбитый RGB-образ, возвращаемый в виде числового массива того же размера и типа данных, что и входной образ, I.

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

Подробнее

свернуть все

Цветовое пространство HSV

Цветовое пространство HSV определяет цветовой тон, насыщенность и значение (яркость) для каждого пикселя, соответственно, как описано в таблице.

ПризнакОписание
ОттенокЗначение от 0 кому 1 соответствует положению цвета на цветовом круге. По мере увеличения оттенка от 0 кому 1, цвет переходит от красного к оранжевому, желтому, зеленому, голубому, синему, пурпурному и, наконец, обратно к красному.
НасыщенностьВеличина оттенка или отхода от нейтрали. 0 указывает изображение в оттенках серого и 1 указывает максимальное насыщение.
Стоимость

Максимальное значение среди красных, зеленых и синих компонентов определенного цвета.

Представлен в R2019b