関数 > 画像処理 > 画像カラーツール > 例: HLS/HSV カラー方式
例: HLS/HSV カラー方式
rgb_to_hlshls_to_rgbrgb_to_hsv、およびhsv_to_rgb関数を使用して、画像とカラーベクトルのカラー表現を変換します。
この例の使用方法については、画像処理の例についてを参照してください。
RGB と HLS/HSV との間の変換: 単色
1. RGB カラーを個別に定義します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
2. rgb_to_hsv 関数を使用して、RGB の個々のカラー成分を HSV に変換します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3 つの行列すべてで 2 つ目と 3 つ目の要素は同じであり、どちらも 255 に設定されています。
3. rgb_to_hls 関数を使用して、RGB の個々のカラー成分を HLS に変換します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3 つの行列すべてで 2 つ目と 3 つ目の要素は同じであり、それぞれ 127.5 と 255 に設定されています。
4. hsv_to_rgb 関数と hls_to_rgb 関数を使用して、HLS/HSV の青のベクトルを変換すると元の青色成分に戻ることを確認します。
クリックしてこの式をコピー
クリックしてこの式をコピー
カラーマップの作成
hsv_to_rgb 関数を使用してカラーマップパレットを生成し、グレースケール画像を偽色で表示します。
1. 彩度と値がどちらも 255 で色相が 0 から MAXH である 256 色のカラーパレットを生成します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
2. HSV の成分を拡大し、結果を転置して 3 x 256 の配列を作成します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3. hsv_to_rgb 関数を使用して、3 x 256 の RGB 行列から成るパレットエントリを作成します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
4. RGB 行列を転置して 256 x 3 の行列を作成してから、左側に添字列を配置して、256 x 4 のカラーマップにします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
5. 前の手順で作成したカラーパレットを使用してグレースケール画像を偽色で表示し、MAXH の値を変えて画像に対する影響を調べます。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
(bridge.bmp)
(bridge_pal.bmp)
HLS/HSV 画像の表示
入力タイプを HLS または HSV に設定することで、HLS/HSV 画像を画像領域に表示できます。
1. 3 つの部分行列から作成する HSV 画像のサイズを定義します。
クリックしてこの式をコピー
2. 画像行列の H、S、V の各成分を作成します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3. 新しく作成した画像をプロットします。
クリックしてこの式をコピー
(color_wheel.bmp)
RGB と HLS/HSV との間の変換: 画像全体
上記の関数を使用して、RGB 画像と HLS/HSV 画像との間で変換を行えます。
1. RGB 画像を読み込みます。
クリックしてこの式をコピー
クリックしてこの式をコピー
(strike_rgb.bmp)
2. RGB 画像を HLS と HSV に変換します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
(strike_hls.bmp)
(strike_hsv.bmp)
3. HLS 画像と HSV 画像を RGB に再び変換します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
(strike_rgb2.bmp)
(strike_rgb3.bmp)
これは役に立ちましたか?