関数 > 画像処理 > 画像カラーツール > 例: テレビジョン画像カラー方式
例: テレビジョン画像カラー方式
関数rgb_to_yiqrgb_to_ycbcryiq_to_rgbおよびycbcr_to_rgbを使用して、画像の色を操作します。
これらの関数は、引数として特定のカラー表現のカラー行列をとり、別のカラー表現での同等のカラー行列を返します。
コンピュータによって生成されるカラー画像の多くは RGB 方式によるものであり、各ピクセルは赤、緑、青の輝度を表す 3 つの数値によって表され、これらを組み合わせることによってピクセルの色が作られています。ただし、カラーテレビでは RGB 方式は採用されていません。代わりに、輝度/明度の値 (記号 Y) を使用するものや (白黒テレビ用)、2 つのクロミナンス (色の値) を使用するものなど、さまざまなカラー表現の規格があります。
人間の視覚器官は色の空間的変化よりも明るさに対して鋭敏です。このため、RGB を使用するよりも、明るさ (輝度/明度) に 1 チャンネルを使用し、残り 2 つのチャンネルをカラー情報に使用した方が効率的です。画像を圧縮するため、見た目の画質を落とすことなく、カラー情報をダウンサンプルできます。いくつかのタイプのチャンネルを使用でき、その中でも最も一般的であるのが YIQ と YUV です。ここで、Y は輝度 (知覚輝度)、IQ と UV はクロマチャンネル (ダウンサンプル可能な色/輝度の情報) です。標準的なビデオ装置では、デジタルでもアナログでも、このタイプの圧縮方法が採用されています。
この例の使用方法については、画像処理の例についてを参照してください。
RGB から YIQ への変換
米国テレビ委員会 (NTSC) によって、RGB の線形変換である YIQ と呼ばれる規格が開発されました。これは次の式によって表されます。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
上記の式の RGB_in または YIQ_in の値を調整して、それに対応する YIQ または RGB の出力値を調べることができます。通常は、計算された RGB 値を最も近い整数に丸めます。
rgb_to_yiq と yiq_to_rgb
これらの関数を使用して、RGB 画像行列を YIQ に変換し、次に YIQ を RGB に変換します。
1. RGB 画像を読み込みます。
クリックしてこの式をコピー
クリックしてこの式をコピー
(planet_ppm.bmp)
2. RGB 画像を YIQ に変換してから再び RGB に戻し、変換後の画像が元の画像と同じであることを確認します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
(planet_yiq_rgb.bmp)
デジタルテレビジョン規格 CCIR 601
CCIR 601 規格の画像は YCbCr 形式で保存されています。この形式は RGB を線形変換したもので、RGB よりも一意な出力範囲が広くなっています。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
上記の式の RGB_in または YCbCr_in の値を調整して、それに対応する YCbCr または RGB の出力値を調べることができます。通常は、YCbCr または RGB の値を最も近い整数に丸めます。
RGB の値の範囲は 0 から 255、Y の値の範囲は 16 から 235、Cb と Cr の値の範囲は 16 から 240 です (範囲の最小値と最大値は信号のその他の目的に使用されます)。
rgb_to_ycbcr と ycbcr_to_rgb
これらの関数を使用して、RGB 画像行列を YCbCr に変換し、次に YCbCr を RGB に変換します。
元の RGB 画像を YCbCr に変換してから再び RGB に戻し、変換後の画像が元の画像と同じであることを確認します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
(planet_rgb_ycbcr.bmp)
(planet_ycbcr_rgb.bmp)
これは役に立ちましたか?