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