2017-09-28 24 views
1

Wikipediaと多数のオンラインリソースが、RGBからのさまざまな色空間変換に関する詳細で豊富なヘルプを提供します。私が必要としているのはYUV→HSL/HSV変換です。RGBステップを迂回してYUVをHSLまたはHSVに変換する

実際に私が必要としているのは色相です(彩度や明度/明度はあまり気にしないでください)。言い換えれば、与えられたYUVカラーの「色の角度」を計算するだけです。

私の好みはCスタイルの構文ですが、どの言語のコードでも問題ありません。

YUVは、特にY'UV、a.k.a.YCbCrを意味することに注意してください(違いがあれば)。

+0

これを行うためのライブラリやソフトウェアはお勧めできません。あなたが書いたコードを手助けすることはできますが、あなたのためにそれを書くことはできません。 – Rob

+0

@Robこれを別のSEサイトに移動することをお勧めしますか?もしそうなら - どちら? (私は自分でコードを書くことができます。色空間変換のアルゴリズムについては助けが必要です) – YePhIcK

+0

良い質問です。グラフィックスSEと数学があります。私は数十年の間に見たことのないアルゴリズムをいくつか残していますが、このソリューションには私自身興味があります。 – Rob

答えて

1

YUV-> RGBの色空間変換はRGB-> HSL ない(「行列演算として表すことができる」と同じ)線形であるが。したがって、2つを1つの操作に組み合わせることはできません。

私にこれを確認していただきありがとうございますKel Solaar。参考

「底角は」色がどのセクタに依存したように数学的に色相の計算を区分書き込まれる注「主要色」はmax(R, G, B)の式によって駆動されます。

+1

Y'CbCrとRGBの関係が線形であっても、実際にはY'CbCrからR'G'B 'に変換されていますが、ここでは素数とはコンポーネントの非線形性を表すものですY'CbCrのY 'はLuminanceではなくLuma用です。これは、HSVに変換する前に、非線形にエンコードされたR'G'B'カラーを線形RGBカラーにデコードすることを意味することを意味します。 –

関連する問題