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