Main Content

hsv2rgb

HSV の色を RGB に変換

説明

RGB = hsv2rgb(HSV) は、HSV イメージの色相、彩度、明度 (HSV) の値を RGB イメージの赤、緑、および青の各値に変換します。

rgbmap = hsv2rgb(hsvmap) は HSV カラーマップを RGB カラーマップに変換します。

すべて折りたたむ

5 階調の青を指定する 3 列の HSV 行列を作成します。この場合、色相と明度は一定で、彩度は 1.00.0 の範囲で変化します。

hsv = [.6 1 1; .6 .7 1; .6 .5 1; .6 .3 1; .6 0 1]; 

hsv2rgb を呼び出して HSV 行列をカラーマップに変換します。次に、そのカラーマップを表面プロットで使用します。

rgb = hsv2rgb(hsv);
surf(peaks);
colormap(rgb);
colorbar

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

4 階調の青を指定する 2×2×3 の HSV 配列を作成します。

hsv(:,:,1) = ones(2,2)*.6;
hsv(:,:,2) = [1 .7; .3 0];
hsv(:,:,3) = ones(2,2);

hsv2rgb を使用して、その HSV 配列をトゥルーカラー イメージに変換します。次に、イメージを表示します。

rgb = hsv2rgb(hsv);
image(rgb);

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

入力引数

すべて折りたたむ

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

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

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

データ型: double | single | logical

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

データ型: double

出力引数

すべて折りたたむ

RGB イメージ。値の範囲が [0, 1] の m×n×3 の数値配列として返されます。RGB の 3 番目の次元はそれぞれ、各ピクセルの赤、緑、および青の強度を定義します。このイメージは HSV イメージ HSV と同じデータ型をもちます。

データ型: double | single

RGB カラーマップ。値の範囲が [0, 1] の c 行 3 列の数値行列として返されます。rgbmap の各行は 3 要素の RGB 3 成分です。これらはカラーマップの単一の色を構成する赤、緑、青の成分を指定します。カラーマップのデータ型は HSV カラーマップ hsvmap と同じです。

データ型: double | single

参照

[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 より前に導入

参考

|