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