rgb2hsv

Преобразование цветов RGB в HSV

Описание

пример

HSV = rgb2hsv(RGB) преобразует красное, зеленое и синее значения изображения RGB в значения оттенка, насыщения и значения (HSV) изображения HSV.

пример

hsvmap = rgb2hsv(rgbmap) преобразует палитру RGB в палитру HSV.

Примеры

свернуть все

Получите версию prism с понижающей дискретизацией палитра.

rgb = prism(6)
rgb = 6×3

    1.0000         0         0
    1.0000    0.5000         0
    1.0000    1.0000         0
         0    1.0000         0
         0         0    1.0000
    0.6667         0    1.0000

Преобразуйте значения RGB в палитре в HSV.

hsv = rgb2hsv(rgb)
hsv = 6×3

         0    1.0000    1.0000
    0.0833    1.0000    1.0000
    0.1667    1.0000    1.0000
    0.3333    1.0000    1.0000
    0.6667    1.0000    1.0000
    0.7778    1.0000    1.0000

Создайте изображение труколора 2 на 2.

rgb(:,:,1) = [1 1; 0 .5];
rgb(:,:,2) = [0 1; 0 .5];
rgb(:,:,3) = [0 0; 1 .5];
image(rgb);

Figure contains an axes. The axes contains an object of type image.

Преобразуйте изображение в массив HSV.

hsv = rgb2hsv(rgb)
hsv = 
hsv(:,:,1) =

         0    0.1667
    0.6667         0


hsv(:,:,2) =

     1     1
     1     0


hsv(:,:,3) =

    1.0000    1.0000
    1.0000    0.5000

Входные параметры

свернуть все

Изображение RGB для преобразования, заданное как m -by- n -by-3 числовой массив. Третья размерность RGB задает красную, зеленую и синюю интенсивность каждого пикселя, соответственно.

Типы данных: single | double | uint8 | uint16

RGB палитра, заданная как c-на-3 числовая матрица со значениями в области значений [0, 1]. Каждая строка rgbmap - трехэлементный триплет RGB, который задает красный, зеленый и синий компоненты одного цвета палитры.

Типы данных: double

Выходные аргументы

свернуть все

Изображение HSV, возвращенное как m -by- n -by-3 числовой массив со значениями в области значений [0, 1]. Третья размерность HSV определяет оттенок, насыщение и значение для каждого пикселя, соответственно, как описано в таблице.

ПризнакОписание
ОттенокЗначение от 0 на 1 что соответствует положению цвета на цветном колесе. Когда оттенок увеличивается от 0 на 1, цвет переходит от красного к оранжевому, жёлтому, зеленому, голубому, синему, пурпурному и, наконец, обратно к красному.
НасыщениеКоличество оттенка или отхода от нейтрали. 0 указывает нейтральный оттенок, в то время как 1 указывает на максимальное насыщение.
Значение

Максимальное значение среди красных, зеленых и синих компонентов определенного цвета.

Тип данных HSV зависит от типа RGB:

  • Если RGB имеет тип single, затем HSV имеет тип single.

  • В противном случае HSV имеет тип double.

Типы данных: double | single

Палитра HSV, возвращенная как c-на-3 числовая матрица со значениями в области значений [0, 1]. Каждая строка hsvmap является трехэлементным триплетом HSV, который задает компоненты оттенка, насыщения и значения одного цвета палитры.

Тип данных зависит от типа rgbmap:

  • Если rgbmap имеет тип single, затем hsvmap имеет тип single.

  • В противном случае hsvmap имеет тип double.

Типы данных: single | double

Ссылки

[1] Smith, A. R. «Color Gamut Transform Pairs». SIGGRAPH 78 Материалы конференции. 1978, стр 12–19.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.

См. также

|

Представлено до R2006a