2006年10月27日

モノクロームな話

先日書いたGIMPでのフォトレタッチのやり方に、カラーの写真をモノクロにする方法も付け加えようとして、このところいろいろ調べていたのですが、カラー画像のグレースケール化というのは、ものすごく奥の深いことだと知って非常に驚きました。今まで、赤(255,0,0)も緑(0,255,0)も青(0,0,255)も、グレースケールで表すと同じ色になるんだとばかり、思っていたんですよ・・・ ちなみに(1)の画像をGIMPでグレースケールモードに変換したのが(2)なのですが、緑より赤が、赤より青が、黒くなっているのがわかると思います。

(1)


(2)

ここらの話は、以下のリンクがものすごく詳しくて分かりやすいです。

osakana.factory - グレースケールのひみつ
http://ofo.jp/osakana/cgtips/grayscale.phtml

GIMP - Converting Color Images to B&W
http://www.gimp.org/tutorials/Color2BW/

(1)の画像をGIMPでBMPファイルで書き出したものを、バイナリエディタの見てみると、非圧縮な見通しのよいものだったので、試しに、RGBを0.299:0.587:0.114で重み付けをしてカラーをモノクロにする簡単なスクリプトを書いてみました。それを使ってできたのが(3)なのですが、(2)とほとんど変わりませんので、桁が違ったりするかもしれませんが、おそらくGIMPはこの数字を使っているのでしょう。ソース見ればはっきりしますが、見ても私にはたぶん分かりません(泣)・・・

(3)

ただ、わざわざ慣れないスクリプトを書いたわけは他にあって、次のようなちょっとした実験をしてみたかったからです。通常グレースケールは無彩色だけの256階調で表されますが、これをもっと増やして見たいと思います。通常(0,0,0)から(1,1,1)は1段階ですが、これを(0,0,0)-(0,0,1)-(1,0,0)-(1,0,1)-(0,1,0)-(0,1,1)-(1,1,0)-(1,1,1)の7段階に増やして、計1786階調で表現してみたのが次の(4)です。

(4)

正直、私にはこれと(3)との違いが見た目には分かりません。試す前は、結構はっきりときれいになるような気がしていたので、ちょっとがっかり。

この後、サブピクセルを考えたスクリプトもいろいろ書いてみたのですが、効果はでないは、色が付き始めるはで、どうしようもありませんでした。詳しい人がちゃんとアルゴリズムを考えれば、少しはきれいになるのでしょうか?


* * * * * * *


ずいぶん先の話だと思っていたFirefox 2.0がリリースされました。ほんと時間のたつのは速いものです・・・ とりあえずうちの環境ではすこぶる快適!

2006年10月27日 00:29