-1

私はこれらのことにかなり慣れていないので、C++ でコードを実装して、RGB 値から HSV 値を見つけました。

R = 255;
G = 0;
B = 0;

このため、 as の値を取得していますHSV:

H = 0;
S = 1;
V = 1;

いいえ、私はここV= 255VS = 255S一方を取っていますH = H/2。正しいhsv値を取得していますが、それらを 24 ビットのビットマップ イメージにプロットする方法がわかりません。私はインターネットを検索しましたが、ボットを見つけることができました。誰でもここで私を助けることができますか? ありがとう

4

1 に答える 1

1

ほとんどの画像形式 (ビットマップを含む) は、値を RGB 形式 (またはエンディアンによっては BGR 形式) で格納します。24 ビット ビットマップの場合、赤に 8 ビット、緑に 8 ビット、青に 8 ビットを使用するため、この形式で画像を保存する場合は、RGB (または画像を正しく着色するには、保存する前に RGB に変換してください)。

画像がどのように表示されるかは気にせず、画像の R、G、および B チャンネルに H、S、および V コンポーネントを保存したい場合は、簡単に行うことができます (チャンネルを望ましい範囲)。したがって、24 ビット ビットマップの場合、チャネルあたり 8 ビットは、チャネルが 0 ~ 255 の値を持つことを意味します。H、S、および V が 0 ~ 1 の範囲にあると仮定すると、それぞれに 255 を掛けてその範囲に入れます。 .

以下は、画像の R、G、および B チャネルにそれぞれ格納されている Stack Overflow ロゴの H、S、および V 値です。

RGB チャネルの HSV の例

于 2013-04-22T03:11:41.590 に答える