Случайным образом измените цвет пикселей
настраивает цвет 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 указывает на максимальное насыщение. |
| Значение | Максимальное значение среди красных, зеленых, и синих компонентов определенного цвета. |
centerCropWindow2d | hsv2rgb | randomAffine2d | randomCropWindow2d | rgb2hsv
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.