この質問は好奇心から外れているので、探してみました。しかし、サイトのほとんどは、8ビットでのバイナリ表現と256の組み合わせについて話しています。これは既に知っています。白、コンピューターはどのようにして電気だけで赤い色を生成しますか?または、表示に使用されるスクリーンまたはモニターのチューブに塗りつぶされた色ですか?また、RGBが(255、255、255)の組み合わせを取る場合、RGBは3バイトの色の組み合わせを取ることを意味します。クエリを解決してくれてありがとう。
この質問は好奇心から外れているので、探してみました。しかし、サイトのほとんどは、8ビットでのバイナリ表現と256の組み合わせについて話しています。これは既に知っています。白、コンピューターはどのようにして電気だけで赤い色を生成しますか?または、表示に使用されるスクリーンまたはモニターのチューブに塗りつぶされた色ですか?また、RGBが(255、255、255)の組み合わせを取る場合、RGBは3バイトの色の組み合わせを取ることを意味します。クエリを解決してくれてありがとう。
回答:
コンピューターの内部では、各ピクセルはそれぞれが値(通常は0〜255)のRGBのトリプレットとして保存されます。これらは8ビット値です。つまり、それぞれ8つの1と0の組み合わせで表されます(既にご存じのとおり)。3つの色があり、それぞれが8ビットで表されるため、合計24ビットの色(つまり24ビット画像)、つまりピクセルあたり3バイトになります。
コンピューターは画面に画像を表示するときに、一度に1ピクセルずつ表示領域をスキャンし、使用する表示技術に応じて、その情報を画面に送信して表示します。
デジタル表示システム(DVI、HDMIなど)の場合、バイナリデータが解釈のために画面に送信されます。アナログシステム(VGA)の場合、解釈はコンピューター自体によって行われ、結果はディスプレイに送信されます。
解釈では、基本的に3バイトのそれぞれを電圧に変換しています。これは、DAC、またはデジタルアナログコンバーターと呼ばれるデバイスによって行われます。0〜255を表すバイナリ値を取り、異なる値ごとに個別の電圧を出力します。したがって、たとえば、バイナリ値0は0Vの電圧を出力できます。255のバイナリ値は5Vの電圧を出力できます。したがって、93のバイナリ値は1.823529412Vの電圧を出力します。
通常、各色に1つずつ、合計3つのDACモジュールがあり、結果の電圧は、その特定のピクセルの輝度を制御するためにディスプレイによって使用されます。古いCRTでは、電子ビームの強度を設定するために使用されます。TFTでは、サブピクセルの不透明度を設定するために使用されます(通常、赤、緑、青の3つがあります)。
TFT画面では、0〜255の全色範囲を8ビットの詳細で表示できないことが一般的であるため、実際の色の表示が少なくなることがよくあります。TFTでは256K色(18ビット)が一般的ですが、CRTは24ビットの全範囲を表示できます。(数万ドルを支払う場合)通常の18ビットまたは24ビットよりも詳細に表示できる「HDRI」モニター(高ダイナミックレンジ画像)を取得することも可能ですが、これらは非常にまれであり、特定のハイエンドジョブにのみ使用されます。
ARGB
OpenCVのは、パックされた24ビットフォーマット使用し、一方、アルファチャンネル無し(ゼロ詰め)RGB
になり、32-ピクセルデータを事前に渡すことなく、ビットアラインメントアクセスは困難です。