Случайным образом измените цвет пикселей
настраивает цвет RGB отображают J
= jitterColorHSV(I
,Name,Value
)I
со случайным образом выбранным значением оттенка, насыщения, яркости и контраста от HSV-цветового пространства. Укажите диапазон каждого типа аргументов пары "имя-значение" использования корректировки.
Считайте и отобразите изображение.
I = imread('kobi.png');
imshow(I)
Случайным образом настройте оттенок, насыщение, яркость и контраст изображения. Чтобы продемонстрировать случайность корректировки, повторите операцию на оригинальном изображении три раза.
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])
I
— Изображение RGBИзображение 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
— Оттенок возмещен
(значение по умолчанию) | числовой скаляр | числовой вектор с 2 элементамиСмещение оттенка в виде разделенной запятой пары, состоящей из 'Hue'
и одно из следующих значений. jitterColorHSV
преобразует изображение входа RGB I
к HSV-цветовому пространству прежде, чем добавить случайное значение в канал оттенка изображения. jitterColorHSV
циркулярные переносы модифицированный оттенок к области значений [0, 1] прежде, чем преобразовать дрожавшего HSV отображают назад к цветовому пространству RGB.
Значение | Значение |
---|---|
Числовой скаляр в области значений [0, 1] | Добавьте случайную сумму оттенка от равномерного распределения [-Hue Hue] |
Числовой вектор с 2 элементами с элементами в области значений [-1, 1] | Добавьте случайную сумму оттенка от непрерывного равномерного распределения в заданном интервале. Второй элемент должен быть больше, чем или равным первому элементу. |
Типы данных: single
| double
Saturation
— Насыщение возмещено
(значение по умолчанию) | числовой скаляр | числовой вектор с 2 элементамиСмещение насыщения в виде разделенной запятой пары, состоящей из 'Saturation'
и одно из следующих значений. jitterColorHSV
преобразует изображение входа RGB I
к HSV-цветовому пространству прежде, чем добавить случайное значение в канал насыщения изображения. jitterColorHSV
отсекает модифицированное насыщение к области значений [0, 1] прежде, чем преобразовать дрожавшее HSV-изображение назад в цветовое пространство RGB.
Значение | Значение |
---|---|
Числовой скаляр в области значений [0, 1] | Добавьте случайную сумму насыщения от равномерного распределения [-Saturation Saturation] |
Числовой вектор с 2 элементами с элементами в области значений [-1, 1] | Добавьте случайную сумму насыщения от непрерывного равномерного распределения в заданном интервале. Второй элемент должен быть больше, чем или равным первому элементу. |
Типы данных: single
| double
Brightness
— Яркость возмещена
(значение по умолчанию) | числовой скаляр | числовой вектор с 2 элементамиСмещение яркости в виде разделенной запятой пары, состоящей из 'Brightness'
и одно из следующих значений. jitterColorHSV
преобразует изображение входа RGB I
к HSV-цветовому пространству прежде, чем добавить случайное значение в яркость (значение) канал изображения. jitterColorHSV
отсекает модифицированную яркость к области значений [0, 1] прежде, чем преобразовать дрожавшее HSV-изображение назад в цветовое пространство RGB.
Значение | Значение |
---|---|
Числовой скаляр в области значений [0, 1] | Добавьте случайную сумму яркости от равномерного распределения [-Brightness Brightness] |
Числовой вектор с 2 элементами с элементами в области значений [-1, 1] | Добавьте случайную сумму яркости от непрерывного равномерного распределения в заданном интервале. Второй элемент должен быть больше, чем или равным первому элементу. |
Типы данных: single
| double
Contrast
— Контрастный масштабный коэффициент
(значение по умолчанию) | положительное число | числовой вектор с 2 элементамиКонтрастный масштабный коэффициент в виде разделенной запятой пары, состоящей из 'Contrast'
и одно из следующих значений. jitterColorHSV
преобразует изображение входа RGB I
к HSV-цветовому пространству прежде, чем масштабировать яркость (значение) канал изображения случайным фактором. jitterColorHSV
отсекает модифицированную яркость к области значений [0, 1] прежде, чем преобразовать дрожавшее HSV-изображение назад в цветовое пространство RGB.
Значение | Значение |
---|---|
Положительное число | Масштабируйте яркость случайным фактором от равномерного распределения [1-Contrast 1+Contrast] |
Числовой вектор с 2 элементами из положительных чисел | Масштабируйте яркость случайным фактором от равномерного распределения в заданном интервале. Второй элемент должен быть больше, чем или равным первому элементу. |
Типы данных: single
| double
J
— Дрожавшее изображение RGBДрожавшее изображение RGB, возвращенное как числовой массив, одного размера и тип данных как входное изображение, I
.
Типы данных: single
| double
| uint8
| uint16
HSV-цветовое пространство задает оттенок, насыщение и значение (яркость) для каждого пикселя, соответственно, как описано в таблице.
Атрибут | Описание |
---|---|
Оттенок | Значение от 0 к 1 это соответствует позиции цвета по цветовому диску. Когда оттенок увеличивается с 0 к 1 , цветовые переходы от красного до оранжевого, желтого, зеленого, голубого цвета, синего, пурпурного цвета, и наконец назад к красному. |
Насыщение | Сумма оттенка или отклонения от нейтрального. 0 указывает на полутоновое изображение и 1 указывает на максимальное насыщение. |
Значение | Максимальное значение среди красных, зеленых, и синих компонентов определенного цвета. |
rgb2hsv
| hsv2rgb
| randomAffine2d
| randomWindow2d
| centerCropWindow2d
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.