Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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 object. The axes object 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×n×3 の数値配列として指定します。RGB の 3 番目の次元はそれぞれ、各ピクセルの赤、緑、および青の強度を定義します。

データ型: single | double | uint8 | uint16

RGB カラーマップ。値の範囲が [0, 1] の c 行 3 列の数値行列として指定します。rgbmap の各行は、カラーマップの各色を構成する赤、緑、青の成分を指定する RGB 3 成分です。

データ型: double

出力引数

すべて折りたたむ

HSV イメージ。値の範囲が [0, 1] の m×n×3 の数値配列として返されます。HSV の 3 番目の次元はそれぞれ、表で説明されているとおり、各ピクセルの色相、彩度、および値を定義します。

属性説明
色相カラー ホイール上の色の位置に対応する、0 から 1 までの範囲の値。色相が 0 から 1 まで増加すると、色が赤からオレンジ、黄、緑、シアン、青、マゼンタの順に推移し、最後に赤に戻ります。
彩度色相の量または中間からの逸脱。0 は中間の色調を表し、1 は最大彩度を表します。

特定の色の赤、緑、青成分の中での最大値。

HSV のデータ型は、RGB の型によって次のように異なります。

  • RGBsingle 型の場合、HSVsingle 型。

  • それ以外の場合、HSVdouble 型。

データ型: double | single

HSV カラーマップ。値の範囲が [0, 1] の c 行 3 列の数値行列として返されます。hsvmap の各行は、カラーマップの各色の色相、彩度、および値の成分を指定する HSV 3 成分です。

データ型は、rgbmap の型によって次のように異なります。

  • rgbmapsingle 型の場合、hsvmapsingle 型。

  • それ以外の場合、hsvmapdouble 型。

データ型: single | double

参照

[1] Smith, A. R. “Color Gamut Transform Pairs”. SIGGRAPH 78 Conference Proceedings. 1978, pp. 12–19.

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2006a より前に導入

参考

|