[PR]テレビ番組表
今夜の番組チェック
モノトーン
例のごとく、初期化プログラムは以下のものを使います。
---Initialize---
coord=0;
あとはTransformのプログラムのみを編集します。
色の三原色というと、RGBとかCMYとかを思い浮かべる人が多いと思います。
ピクシアでもこれらのカラーを使えます。この関係は簡単に表せて、以下のよう
になります。
C = (G+B)/2
M = (R+B)/2
Y = (R+G)/2
ほかにもいろいろなカラー体系を選べるようになっています。HSV,HLS。
でもここではちょっと違う体系を考えましょう。
テレビの規格を考えると、NTSCとかPALとかがあります。ハードウェア規
格はここでは無視して、カラー信号をどういう形で送信しているかをみてみます。
NTSCではYIQという信号にして、PALではYUV(YCbCr)という
信号にしています。
Y = 0.299R +0.587G +0.114B
I = 0.596R -0.274G -0.322B
Q = 0.212R -0.523G +0.311B
Y = 0.299R +0.587G +0.114B
U =-0.147R -0.289G +0.437B
V = 0.615R -0.515G -0.100B
のような行列変換をしています。三つの独立変数を可逆変換するなら、その逆を
行うのも簡単ですから、これらの信号からRGBも求まります。
どうしてこのように変換するかというと、人間の目に敏感な成分のみをYに集め
ています。Yのみ信号に幅を持たせて、ほかのものを圧縮すれば送信する信号の
量が少なくてすみます。よく見てみるとYIQのYもYUVのYも同じ計算式で
す。(専門の人は細かいことを突っ込まないように)
Yは人間の目に敏感な「明るさ」を表しているのです。
「色を変える」で白黒画像を作りましたが、
人間の目に忠実な白黒画像を作るには、以下のようにします。
---Transform---
Y = 0.299*R +0.587*G +0.114*B;
R=Y;
G=Y;
B=Y;
Yを計算してその値をRGB全てに代入しています。このYの計算式は暗記して
おいても損はないでしょう。

このYの式から言えることは、緑は赤の2倍明るく、緑は青の5倍明るいという
ことです。
ちょっと計算式を付け加えて、赤を少し強調してみます。
---Transform---
Y = 0.299*R +0.587*G +0.114*B;
R=Y*1.2;
G=Y;
B=Y;

セピア調写真の出来上がりです。
もうちょっと黄色っぽいほうが好みですか?
---Transform---
Y = 0.299*R +0.587*G +0.114*B;
R=Y*1.2;
G=Y*1.1;
B=Y*0.9;
緑色も少し強調してみました。全体的に明るくなりすぎるので、青は少し弱めま
した。

色の度合いは各自の好みで調整してみてください。
戻る