hirax.net::Keywords::「計測」のブログ



1999-09-05[n年前へ]

ACIIアートの秘密 

画像をASCII文字に変換するソフトを作ろう

ASCII文字で描かれたモナリザを初めて見たのは、まだ大型コンピューターしかなかった頃だ。当時、記憶媒体の紙テープをパンチした紙くずと、ラインプリンタから出力されたASCIIアートで遊んでいた。
 今回ASCIIアートを用いていくつか実験をしてみたかったので、画像をASCII文字に変換するソフトウェアを探してみた。例えば、

といったサイトのリンクを辿ってみた。しかし、探し方が悪かったのだろうが欲しい機能を持つソフトウェア(フォントに応じたガンマテーブルを構成できること)が見つからなかった(情報をお持ちの方はここからでも私に教えていただけるとうれしい)。そこで、しょうがないから自分で作ってみることにした。必要は発明の母だ。というわけで、父は私。

 子どもである作成したソフトウェアは以下だ。もちろん、フリーウェアだ。ただし、いつものごとくアルファ版の中のアルファ版なので、再配布は禁止である。ここからいくらでもダウンロードできるので、構わないだろう。

 さて、このソフトウェアは画像をASCII文字に変換して表示・保存することができる。変換の仕方は、
  1. 白背景に黒文字
  2. 黒背景に白文字
  3. 白背景に色文字
  4. 黒背景に色文字
という4種類ある。また、変換したものを保存するにも、
  1. Windows Bitmap形式
  2. Text形式
  3. Html形式
の3種類がある。Text形式で保存する場合には「白背景に黒文字に変換するモード」で保存される。それ以外の保存形式であれば、どの変換モードでも大丈夫である。
 画像を読みこむには標準ではWindowsBitmapのみであるが、Susieプラグインを用いれば、色々な画像形式に対応することができる。

 使用手順は以下の通りだ。

  1. image2asciiを起動する。
  2. OpenFileボタンを押して、画像を読みこむ。
  3. Fontボタンを押して、フォントを選択する。(このソフトは使用するフォントの濃度カーブを計測し、正確な画像再現を狙うのだ!!)
  4. 画像変換モードを選択する。
  5. ImageToAsciiボタンを押して、変換を行う。
  6. 必要であれば、SaveFileボタンから適当な形式で保存を行う。
何より、使ってみるのが一番早いと思う。

 動作画面例は、例えば以下のようなものだ。

image2asciiで画像を白背景に黒文字に変換した画面

 
image2asciiで画像を黒背景に白文字に変換した画面
image2asciiで画像を黒背景に色文字に変換した画面

image2asciiで画像を白背景に色文字に変換した画面

Text形式で保存した場合のサンプルはこんな感じだ

Html形式で保存した場合のサンプルも示しておく。白黒文字への変換モードであればテキスト形式で保存するのが良いと思う。白黒文字の場合にスペースが変換画像中に含まれていると、画像ずれが生じてしまうからだ。これも簡単に直せるのであるが、直すのは次回にしておく。慣れないプログラミングを一気にしたせいで疲れてしまったのだ。もしすぐに使いたい方は、エディターで適当に置換すれば良いと思う。

 さてさて、このプログラムを作成した理由は、これを用いて実験を多々行ってみたいからなのである。キーワードは、デバイス、ガンマ、安定性、逆問題、色空間...である。というわけで、続きは次回に...

1999-09-26[n年前へ]

デバイスドライバーは仮免 

ClearTypeの秘密

 昨年、COMDEX/Fall '98においてMicrosoftが発表した「ClearType」技術というものがある。液晶ディスプレイなどの表示の解像度をソフトウェアのみで向上させるという技術である。PCだけでなく、液晶を使った電子ブックなどをターゲットにしているという。(参照:http://www.zdnet.co.jp/news/9811/16/gates.html)

 技術の詳細については、「特許申請中」ということで、明らかにされていない。しかし、その技術について推論している人は数多くいる。例えば、

や、Gibson Research Corporationのといった所がある。中でも、The Technologyof Sub-Pixel Font RenderingからはFree & Clearというデモプログラムをダウンロードすることができる。
Free & Clearの動作画面(縮小後、JPEGに変換しているのでこの画面では効果はわからない)

 ビックリすることに、確かに効果があるのである。カラーシフティングによりシャッキリした文字になるのだ。しかも滑らかなのである。デジタル接続の液晶を用いている方は確認すると面白いと思う。

 もっとも、こういう画像はWEB上で納得するのは難しい。JPEGのような圧縮画像では、情報が完全には保存されず、意図した出力ができないからである。とりあえず、デジタル接続の液晶ディスプレイを使っている方はとにかく試してみると良い。目からウロコである。

 さて、この原理であるが、カラーシフトについては色々なところで説明してあるが、若干わかりにくい画像例が多い。そこで、自分流に解釈しなおして考えてみたい。そして、実験してみようと思う。

 まずは、右上から左下に走る黒字に白斜線を考えてみる。1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれるようなものである。液晶の1ドットはRGBが縦に並んでいる。例えば、

で計測した画像例だと、
液晶ディスプレイの拡大画面
という感じである。良く見ればRed,Green,Blueの順番で並んでいるのがわかるだろう。

 1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれる黒字に白い斜線を考えてみる。これはそのような斜線を拡大したものである。

1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれる斜線
従って画像幅は本来2ドットである。

 そのような斜線を液晶で描くと通常は下の左図のようになる。通常の処理が左で、カラーシフトを用いた処理が右である。通常の処理ではRGBの位置を同じものとして処理しているので、RGBそれぞれが同じように変化している。しかし、カラーシフトを用いた処理においては、RGBの各位置が異なっていることを考慮の上、処理を行ってみたものである。そのため、滑らかな斜線になっているのがわかると思う。

左が通常の処理、右はカラーシフト処理

 このように、デバイスの個性を把握した上できちんと生かしてやれば、デバイスの能力をもっと引き出すことができるわけだ。 個性の違いを越える世界というのは、個性を無視した世界とはまったく逆であり、個性を最大限理解して初めて個性の違いを超えることができるのだ。

 さて、効果を確認するために、そのようなハーフトーンパターンを作成してみた。ただし、ここで表示している画像はJPEGに変換してしまっているので、効果は現れない。また、本来見えるはずの画像とはかなり異なってしまっているので、各画像をクリックしてオリジナルのTIFファイルをダウンロードして確認して欲しい。

1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれる斜線ハーフトーン
クリックでオリジナルのTIFFファイルにリンクしている
ノーマル斜線
カラーシフトを用いた斜線

  さて、この画像ではわからないだろうが、TIFFファイルの方を見て頂くと、カラーシフトを用いた斜線ハーフトーンの方では、色模様が出現してしまっているのがわかると思う。それは、液晶のガンマ特性を考慮していないからである。

 このガンマ補正については、一般的に使われるガンマの意味だけでないものが含まれている。一言では簡単には説明しきれないので、説明は次の機会にする。Free&Crearでもそのガンマ特性を調整する機能がついている。白地に黒文字であるか、黒字に白文字であるかの違いがあることに注意すれば、その数字の意味がわかる。ここでは、その補正をしたものを示すだけにしておく。と、いっても、私が使用している液晶のガンマを考慮したものなので、一般的には役に立たないだろう。

上の画像をそれぞれガンマ補正したもの
ノーマル斜線(ガンマ補正後)
カラーシフトを用いた斜線(ガンマ補正後)

 あなたが目にしている画像では、画像ではガンマ補正した方が変に見えていると思う。それは、私とあなたの使っているデバイス(と視点)が異なるからである。ここでやったのと同じやり方で、あなたの液晶に合わせて(なおかつ、同じ視点で)やれば、きれいに出るはずだ。
 さて、この結果を私の液晶で見てみると、カラーシフトを用いた斜線(ガンマ補正後)の方ではきれいに斜線のハーフトーンが出ている。ただ、いくつか問題があるのだが、それは次回までの宿題だ。と、いってもヒントはすでに「できるかな?」中でも出現している。ごく最近の話題でも、だ。

 このカラーシフト技術は実に単純なアイデアである。しかし、これは実に面白いアイデアであると思う。効果が有る無しに関わらず、こういうネタは私は大好きである。ただ、こういう技術が日本のデバイス屋さんから出てこないことが少し残念だとは思う。デバイスもドライバーも両方作っているところにがんばって欲しいものだ。それまでは、「デバイスドライバーは仮免」といった所だろう。 .....うーん、ちょっと、強引かな。というわけで、何故か私の手元にはPalm-size PCであるCasio E-500があり、そして、久しぶりにVisualStudioをいじり始めるのであった。。

1999-10-07[n年前へ]

CCDカメラをバラせ! 

モアレは自然のClearText

 あまり、「できるかな?」では工作の話題が出ていない。いや、もしかしたら全然出ていないかもしれない。そこで、手元に8mmビデオのジャンクがあったので、こいつをバラしてみることにした。そして、これまで「できるかな?」に登場しているような話に関連していることがないか調べてみるのだ。いや、本当は嘘で計画済みの伏線張りまくりの話である。もしかしたら、勘のいい方はもう話の風向きはもうおわかりかもしれない。

 さて、今回分解するカメラはかなり前(といっても数年前)のモデルである。まずは、分解してみよう。

1 8mmビデオカメラのCCD&レンズ部分.
2. 方向を変えるとこんな感じ
3. 正面のレンズを外す
4. もっとばらす。中央にCCDチップ部分がある。
5. これがCCD部分。
6. CCD前部のフィルターを外す
7. CCD素子を正面から見ると
8. もっともっと拡大するとこうだ

 5.の写真でわかるように、CCD前部にはフィルターが着けてある。(当初はこれを赤外線フィルターだと考えていた。なので、このフィルターを外してやると、画質はとんでもないことになる。しかし、その上で赤外線投光器を装着すれば面白いカメラになりそうである。が、用途を間違えるととんでもないことになるので、今回はやらない。が、いつかやってみようとは思っている。もちろん、私は品行方正がモットーであるので、悪用はするわけがない。もちろんである。)と、書いたがその後、「これは赤外線とは逆のエイリアシング防止用のハイカットフィルタだろう」というご指摘を頂いた。フィルターが青色だったので、単純に赤外線カット用途かと思い込んでいたが、どうやら違うらしい。指摘の文章をそのまま、使わせていただくと「CCDは空間サンプリング素子であり、サンプリング周期(ピクセルのピッチ)よりも短い波長の光が入ると、エイリアシング(折り返しノイズ)を生じて擬似カラー、干渉縞を生じてしまいます。これを避けるためのハイカットフィルタです。」とある。その後、知人から頂いた資料(勉強しなおせ、ということだろう)を読むと、水晶板をだぶらせて2重像にすることにより、細かい解像ができないようにしているローパスフィルターであるようだ。空間周波数のローパスである。今回のCCDでは3層構造になっており、中央の層にのみ色がついている。反省がてら、次回にもう少し調べてみようと思う。

 ところで、7.などの拡大画像で周辺部が丸くケラれているのがわかると思う。これは、

と同じく実体顕微鏡の接眼部からデジカメで撮影を行っているからである。デジカメはこういう時に何より重宝する。さて、デジカメと言えば、こちらも同じくCCDを用いているわけである。

 さて、8.の拡大画像を見ると、このカメラのCCDのカラーフィルターは補色方式(CMYG=シアン、イエロー、マゼンダ、グリーン)であることがわかる。原色タイプでないところを見ると、どうやら感度重視の製品であるようだ。また、この拡大画像などを眺めると、

で調べた液晶のフィルターと同じような構造であることがわかる。よくストライプ模様の服を着ている人をCCDビデオカメラで撮影すると、モアレが発生することがあるが、それはこういったフィルターの色の並びに起因しているわけである。フィルターの周期とストライプの模様が干渉してモアレが生じてしまうのである。

 最近のものではソフト的にかなりの処理をしてモアレが出にくいようにしているし、CCDも高解像度化が進んでいるので、なおさら出にくい。私が使用している富士写真フィルムのFinePix700でそのようなモアレを出そうと思ってみたが、なかなか出なかった。むしろ、ピントを正確に合わせることができなかった。それでも、何とか白黒の縦線模様を撮影して、モアレを出してみたのが下の写真である。左がオリジナルで、右がそれに強調処理をかけたものである。

FinePix700で白黒の縦線模様を撮影した際のモアレ
(左上から右下へ斜めにモアレが出ている)
オリジナル
左に強調処理をかけたもの

 モアレが発生しているのがわかると思う。さてさて、こういう白黒ストライプをよく眺めてみれば、

で登場したこの画像を思い出すはずだ。
ノーマル
ノーマル斜線
カラーシフトを用いた斜線

 そう両者ともまったく同じ斜線である。そもそも、前回作成したパターンは今回への伏線であったのである。白黒の縞模様を撮影しているのであるから、普通は白黒模様しか撮影されない。しかし、モアレが発生している場合というのは、CMYGからなる1画素の中でのさらに細かな位置情報が判るのである。先ほどのCCDの色フィルターの拡大写真のような配置になっていることを知っているのであるから、その配置も考慮の上処理してやれば良いのである。もちろん、白黒の2値からなる画像を撮影しているという前提条件は必要である。その前提条件さえつけてやれば、モアレが生じていることを逆に利用して、高解像処理ができるはずだ。

 例えば、

CCDのCMYGからなる一画素
GreenMagenda
YellowCyan

という画素のGreenだけ出力が大きかったとすると、グレイ画像であるとの前提さえ入れてしまえば、1画素のさらに1/4の領域まで光が当たっている位置を推定できるということになる。もちろん、実際のカメラでも4色の間で演算をしてやり、ある程度の推定はしているだろう。しかし、前提条件を入れてやれば、より高解像度が出せるだろう。

 ClearTextの場合は白黒2値の文字パターン、あるいはハーフトーンという前提条件をつけて液晶に出力を行った。今回は、白黒2値の文字パターン、あるいはハーフトーンという前提条件をつけて、CCDからの出力を解釈してやれば良いわけである。CCDカメラにおいては自然が自動的にカラーシフト処理をしてくれるのである。そのカラーシフト処理からオリジナルの姿を再計算してやれば良いわけである。もっとも、これらのことは光学系がきちんとしている場合の話である。

 今回考えたような、そういった処理はもうやられていると思う。FinePix700でも撮影モードに

  • カラー
  • 白黒
の2種類があるので、もしかしたらそういう処理が含まれているのかもしれないと思う。それでは、実験してみよう。白黒の方がキレイに縞模様が撮影できているだろうか?
FinePix700で白黒の縦線模様を撮影した際のモアレ
(左上から右下へ斜めにモアレが出ている)
白黒モードで撮影
カラーモードで撮影

 うーん、白黒のほうがキレイなような気もするが、よく判らない。念の為、強調処理をかけてみる。もしかしたら、違いがわかるかもしれない。

上の画像に対して強調処理をかけたもの

 うーん、これではますます違いがよくわからない。これは、次回(すぐにとは限らないが)に要再実験だ。ただ使っている感覚では、まずピントがきちんと合わないような気がする。うーん、難しそうだ。それに、今回の実験はローパスのフィルター部分をなくしたものでなければならなかったようにも思う。ならば、FinePix700を使うのはマズイ(直すのメンドクサイから)。どうしたものか。

1999-10-15[n年前へ]

続々ACIIアートの秘密 

階調変換 その2

 前々回の

の時にASCIIアートに関する情報を探したの清竹氏にQ02TEXT(Take氏作)のドキュメントの記述を教えて頂いた。引用してみると、
「限られた出力階調を有効に利用するため、画像の濃度ヒストグラムの補正を行ないます。1パス目で、濃度ヒストグラムをカウントし、そこからヒストグラムが平坦になるような濃度変換関数を生成します。(ヒストグラムを平坦にするのは、情報のエントロピーをなるべく保存するためです。)」
とある。Q02TEXTはimage2asciiと同様のテキストアート作成プログラムである。前回のの最後で(3).情報量を最大にするモデル というのを導入したが、これがそのエントロピー最大化アルゴリズムに近いものを導入してみたものである。何しろ、この考えを使っていくのは乏しい階調性の出力機器には非常に有効なのだ。今回は、この「エントロピー最大化アルゴリズム」について考えてみたい。

 Q02TEXTは「 .:|/(%YVO8D@0#$」の16階調を使用するテキストアート作成プログラムである。それに対して、「ASCIIアートの秘密」で作成したimage2asciiが使用可能な階調数は一定ではない。指定されたフォントを一旦出力してみて、その結果を計測することにより、出力可能な階調数を決定している。したがって、指定したフォントでしか階調の確かさは保証されない。その代わりに、指定されたフォントを使えば割に豊かな階調性を使用できることになる。
 また、得られる階調は一般的に滑らかではないので、Q02TEXTが使っているアルゴリズムとは少し違うものを導入している。

 通常ASCIIアートは色々な環境で見ることができるのがメリットの一つである。しかし、image2asciiはフォントを限定してしまっている。これは、目的が通常のASCIIアートとは異なるからである。私がimage2asciiを作った目的は、それを仮想的な出力デバイスとしてみたいからである。その出力で生じる様々な問題を調べたり、解決してみたいのである。

 さて、前回の最後に示した3種類の画像変換は

  1. 単純な階調重視モデル
    • オリジナルの0を出力画像の最小値に
    • オリジナルの255を出力画像の最大値にする
  2. 拡大した単純な階調重視モデル
    • オリジナルの最小値を出力画像の最小値に
    • オリジナルの最大値を出力画像の最大値にする
  3. 情報量を最大にするモデル
    1. エントロピーを最大にするための階調変換を行う
というものである。

 これら3つの変換方法の違いにより出力画像にどのような違いが生じていたかを、まずはもう一度見てみる。まずは、オリジナル画像である。これは、「私の尊敬する」S大先生である。私は尊敬とともに「ロボコップSさん」あるいは、「ロボSさん」と呼ぶのだ。いや、本当に。

人物写真(ロボコップS氏)

 以下にオリジナル画像及びimage2asciiを用いて変換したものを示す。

オリジナルと変換後画像
オリジナル
(1)
(2)
(3)
これらの変換画像の感想(私の)は、
  • (1).単純な階調重視モデルが比較的白い個所では一番オリジナルに忠実な濃度であることはわかるだろう。ただし、黒い部分に関しての表現力は極めて低い。
  • (2).階調性を少しだけ改善したものではそれより視認性が改善している。
  • (3).視認度の高い画像ではあるが、オリジナルとは濃度などは異なる?
という感じだろうか。
 
 それでは、これらの画像のヒストグラムを調べてみる。先の「(ヒストグラムを平坦にするのは、情報のエントロピーをなるべく保存するためです。)」というのとの関係を調べたいわけである。
オリジナルと変換後画像のヒストグラム
オリジナル
(1)
(2)
(3)

ASCII ARTには濃度の表現領域には限度がある。そのため、(1),(2),(3)はいずれも濃度が最大を示す個所でもオリジナルよりかなり濃度が低い。また、(1),(2)はオリジナルとヒストグラムの形状も少しは「似ている」が、(3)においては、かなり異なっているのがわかると思う。(3)はヒストグラムの形状はかなり異なるにも関わらず、視認度は高くなっている。これが、エントロピーを最大化(すなわち情報量を最大化)しているおかげである。ヒストグラムがかなり平坦になっているのがわかるだろう。

 というならば、エントロピーの計算もしなければならないだろう。もちろんエントロピーと言えば、

でも登場している。「エントロピーは増大するのみ...」というフレーズで有名なアレである。情報量を示す値だといっても良いだろう。せっかく、「ハードディスク...」の回で計算をしたのだから、今回もその計算を流用してエントロピーを計算してみたい。といっても、無記憶情報源(Zero-memorySource)モデルに基づけば、ヒストグラムが平坦すなわち各濃度の出現確率が等確率に近いほどエントロピーは高いのが当たり前であるが...

 この前作成したMathematicaのNotebookを流用するために、オリジナルと3つの変換画像を合体させる。そして、そのヒストグラムを見てみよう。このヒストグラムが非常にわかりにくいと思うので、一応説明しておく。あるY軸の値で水平に1ライン抽出して、その部分のヒストグラムを右のグラフに示しているのである。

あるY軸方向の断面におけるヒストグラム
オリジナルと3つの変換画像を合体させたもの
ヒストグラム(横軸=濃度,縦軸=走査軸)

 例えば、オリジナルの画像では髪の毛がある辺り(Y軸で10から30位)では、ヒストグラムを見ればレベルが50位の黒い所が多いところがわかる。それに対して、変換後の画像では、一番濃度の高い所でも150前後であることがわかるだろう。

 それでは、それぞれ、Y軸でスライスしてその断面におけるエントロピーを計算したものを次に示してみる。

それぞれのY軸スライス断面におけるエントロピー
オリジナルと3つの変換画像を合体させたもの
エントロピー(縦軸=走査軸)

本来は、画像全面におけるエントロピーを計算するのが、望ましい。しかし、ここで使っているような、Y軸でスライスしてその断面におけるエントロピーでも、オリジナルの画像が一番エントロピーが高く、(3)の変換画像(つまり一番上)のものが次にエントロピーが高いのがわかると思う。つまり、情報量が高いのである。

 エントロピー量とあなたの感じる「視認度」とが相関があるかどうかは非常に興味があるところだ(私にとって)。エントロピーが多くても(すなわち情報量が多くても)オレはちっともいいと思わないよ、とか、おれは断然エントロピー派だね、とか色々な意見があったらぜひ私まで教えてほしい。

  「お遊び」に見えるASCIIアートも、調べていくと実は奥が深いのだなぁ、とつくづく思う。といっても、もちろん本WEBはお遊びである。なかなか、奥までは辿りつかない(し、辿りつけない)と思うが、この「ASCIIアートの秘密」シリーズはまだまだ続くのである。

1999-12-12[n年前へ]

色覚モドキソフトを作る(色弱と色空間その4) 

五十歩百歩

  まず、先に書いておこう。今回は、

で作成したTrueColorと似たようなプログラムを作成してみたい。何しろ関係ない話が以降、長々と続くからである。

  昔から、科学者は「色」というキーワードに強く惹かれている、と思う。そんなことを私が思うまでもなく、量子色力学(quatumchromodynamics)、色つき空間群(Color-symmetry)等のキーワードにその事実は現れている。これらの言葉は普通に使われる「色」という言葉とは違う性質を表すものである。しかし、科学者が「色」というものを基本的なものであると感じているために、どんなものが対象でも、「性質」の代表的なものとして、「色」という言葉が連想されるのだろう。

  私は学生時代の量子力学の授業のおかげで、「色」という言葉を聞くと今でも眠くなってしまうのである。何しろ、私の通う理学部の教室の横は農学部の畑だったのだ。教授の声と共に「モゥーーー」という牛の鳴き声が聞こえてくるのだ。教授の声と牛の鳴き声が絶妙のハーモニーとなるのである。ただでさえ眠くなるのに、そのハーモニーはクロロホルムもビックリの睡眠作用を発揮するのだ。私はそのハーモニーのおかげで何回も記憶を飛ばされた。
また、その牛達のおかげで、授業の中で「匂い」と聞いたりすると、牛の糞の「匂い」しか連想できないのである。困ったものである。あの農学部の畑がなければ、もしかしたら私は量子力学を好きになっていたかもしれない。そして、量子力学を極めていたかもしれないのだ...簡単に言えば私は量子力学の授業では落ちこぼれてしまったわけだ。

  ところで、昔の科学者達を考えると、「色」に関わらなかった人を探すほうが逆に難しいように思う。ニュートン、マクスウェル、ヤング、ヘルムホルツなどが代表的である。当たり前である。物理・化学に関わらず、「光」には関わらざるを得ない。当たり前である。さまざまな計測を行ったり、エネルギーを考えたりする上で光は最も重要なモノである。
 そして、「色」というものは「光」の大きな性質の一つである。しかも、それは「科学者自身にとっても」目に見える性質である。目に見えるものを無視する科学者は少ないと思われるので、科学者が「色」に関わらないわけにはいかないのだ。

  割に最近の科学者でも、意外な分野の人が「色そのもの」の研究をしていることがある。例えば、シュレディンガーなども色空間の提唱をしていたらしい。確かに、量子力学から色空間へはつながりを感じないこともないのではあるが、少し意外でもある。そのシュレディンガーが提唱した色空間がどのようなものであるのか、私は残念ながら知らないのだが、波動を深く研究していたシュレディンガーが提唱する色空間というのは非常に興味のあるところである。また、化学。物理学者であるダルトンは自らも色弱であるため、特にその辺りのことを研究し、報告している。

  さて、そのダルトンをinfoseekで検索してみると、

というページを見かけた。ここに、色覚バランスチェック用の図があった。昔、身体検査でやったことがあるような図である。こういった、図が人によってどのように見えるかは非常に興味があるし、気にかかるところでもある。
 もちろん、WEBページは会社の心(色弱と色空間 その2) - WEBページのカラーを考える 3 - (1999.08.10)で作成したTrueColorも同じような目的のために作成したものであるが、あれはあまりにも大雑把なモノだったので、作り直してみたいのである。なお、今回は画像のRGBとL、M、S錐体の反応の間の変換は
画像のRGBとL、M、S錐体の反応の間の変換マトリクス
左=RGB2LMS、右=LMS2RGB
という変換マトリクスを用いている。

  そこで、こういったWEB上の画像を読み込んで、

でやったL,M,Sの各錐体の感度が低いときの色覚シミュレーションを行うソフトを作成してみた。ソフトはこれである。前回と同じく、Susieプラグインを用いて画像を読み込んでいるので、「Susieの部屋」などから、Susie本体・あるいはプラグインを入手する必要がある。
 また、手間を惜しんだためProxy対応にはしていない。さて、動作画面サンプルを以下に示す。初期状態ではから画像を読み込むようになっている。もちろん、他のURLからも画像を読み込むことが可能である。画面左の三本のスライダーで各錐体の感度を調整できる。
truecolor2.exeを実行した画面

  この画面例では各錐体の感度は全て100%になっている。

  それでは、以下に適当に錐体の感度パラメータを変化させた場合のサンプルを示してみる。

truecolor2.exeで錐体の感度パラメータを変化させた場合のサンプル

  こうしてみると、これまで見てきたものとは違う数字が浮かび上がることがわかる。89,52などである。こういう仕組みを用いたのが、石原式などの色覚検査のやり方である。つまりは、異なる色を識別できないこと、すなわち、混同色を用いているのである。混同色を用いて文字を描くことにより、色弱であるかどうかを判断しようとするものだ。

  さて、こういった書き方をすると、色を混同してしまうのが色弱の人だけと勘違いされてしまいそうであるが、そんなことはない。全ての人が「色を混同してしまう」のである。どんな人でも、異なる波長の光であっても、例えばRGBなどの(多くても)三色を混合すれば同じ色に見えてしまう。つまりは、混同色だらけなのである。健常者と呼ばれるヒトも色弱と呼ばれるヒトもたかだか数種類の錐体を持つにすぎない。
 色々な光の波長分布を認識できる生物がいたとすると、彼らがからすればヒトは全て色弱ということになるのだろう。つまりは、五十歩百歩といったところなのかな、と思うのである。



■Powered by yagm.net