2000/05/20
白黒の話
画像処理の仕事を半年もやっていると恐ろしいことにtiffもbitmapもマニュアル見ずにヘッダがわかるようになってきます。でも、いまだにわからないことがあります。白が1か黒が1か。今日はそんな話を書こうと思います。
tiffもbitmapも白黒二値画像とパレット画像、フルカラー画像があります。パレット画像、フルカラー画像の場合はどちらも変わらず、色は明度で表わされ、明るいほうが大きな数字となります。もう少し細かい説明をしますと、色は光の三原色RGB(赤・緑・青)がどのくらいの明るさで表示されるかで決めることができます。例えば真っ白はbitmapの場合はRGBの全てに255が、tiffの場合はRGBの全てに65535が入ります。黒はその逆でどちらも全てに0が入ります。この概念はわかりやすいのですが、二値になると必ずしもこの法則は当てはまりません。つまり二値の場合は黒が1で白が0だったり、その逆に白が1で黒が1だったりするのです。tiffの場合、ヘッダにPhotometricInterpretationというとっても長い名前の情報があり、これが0なら白が0、1なら黒が0になります。そしてデフォルトはありません。つまり白が1でも黒が1でも対等の扱いになります。bitmapの場合、推奨されるのは白が1で黒が0となるように配置することが推奨されます。スキャナで取り込んだ画像はbitmapと逆で白が0で黒が1となります。ですから、そのままbitmapの推奨パレットにすると白黒が反転した画像となってしまいます(推奨はされませんが実はパレットを逆配置することで回避可能です)。この混乱は私の想像ですが、文章というものを取り込んだことによるものではないかと思います。もちろんスキャナの構造上の問題もありますが、文章は白地に黒で文字が書かれていますので、白を0に、黒を1にするのがわかりやすかったのではないかと。ところがここにカラーが入ってくると、明度という概念が必要になり、流れが白が1のほうに傾いていったため、2種類の方法が誕生したのではないでしょうか。
もう一つの仮説。実はMacPaintは白が0。つまりbitmapの推奨設定はMacpaintの逆。


 

Topへ