[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;

緑色も少し強調してみました。全体的に明るくなりすぎるので、青は少し弱めま した。




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



戻る