範囲 0 ~ 255 の RGB から HSV および HSV から RGB への変換のアルゴリズム
RGB カラーを変換するための色空間変換アルゴリズムが表示されます。値を HSV に変換し、その逆も同様で、両方の色空間で 0 ~ 255 の範囲を維持します。動作方法は次のとおりです:
RGB から HSV への変換 (rgb2hsv)
RGB 値 (r、g、b) を HSV (h、s、v) に変換するには:
- r、g、および r の最小値と最大値を決定します。 b.
- 値成分 (v) を最大値として計算します。
- 彩度成分 (s) を (v - 最小値) と v の比率として計算します。
-
色相成分 (h) を決定します:
- r が最大の場合、hは (g - b) / (v - 最小値) として計算されます。
- g が最大の場合、h は 2.0 (b - r) / (v - 最小値) です。
- If b は最大値、h は 4.0 (r - g) / (v - 最小値) です。
- h の角度を次のように変換します。
- h が負の場合は、360 度を加算します。
HSV から RGB への変換 (hsv2rgb)
HSV 値 (h, s, v) を変換するにはから RGB (r, g, b):
- の場合ゼロ、r、g、b を v に設定します。
- それ以外の場合は、色相角度分数 (hh) と hh の底値 (i) を計算します。
- 値 p=v⋅ を計算します。 (1−s)、q=v⋅(1−s⋅(1−hh))、およびt=v⋅(1−s⋅hh).
-
i に基づいて、r、g、b に値を代入します:
- ケース 0: r=v 、g=t、b=p
- ケース 1: r=q、g=v、 b=p
- ケース 2: r=p, g=v, b=t
- ケース 3: r=p, g=q, b=v
- ケース4: r=t、g=p、b=v
- ケース 5: r=v、g=p、 b=q
これらの関数により、RGB 色空間と HSV 色空間間の効率的かつ正確な変換が可能になります。これは、色操作や画像処理を含むアプリケーションにとって不可欠です。
以上がRGB を HSV に、および HSV を 0 ~ 255 の範囲内の RGB 値に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。