• 締切済み

カラー画像をグレー化する方法

カラー画像をグレー画像に変換する方法には どんなものがあるのでしょうか? 一般に使われている方法以外にも色々あるようでしたら 教えてください。

みんなの回答

  • Fooky
  • ベストアンサー率71% (59/82)
回答No.3

私は、IHS表色系のI(intensity)を使えば良かろう、 と、RGBの平均をとるだけ(I = (R+G+B)/3)です。 しかし、ご質問を読んで、確かに、一般のペイントソフトは IHSでやってなさそうだなあと思って試してみました。 画像1:(R,G,B) = (250, 50, 50) 画像2:(R,G,B) = ( 50, 250, 50) 画像3:(R,G,B) = ( 50, 50, 250) 使ったソフトはWindows PhotoDrawと、Linuxのgimpです。 結果   Y   H  Win Linux 画像1:112.5 116.7 111 110 画像2:168.5 116.7 169 168 画像3: 72.5 116.7  73  72 へー、ほんとにYを使ってるんですね。確かに 同じレベルの赤と青が同じ輝度なわけないです もんね。ものの本に依るとYIQはNTSCに使われ てるそうで、白黒テレビ用の明度はYらしいですね。 どっちを使うか、または他のを使うか、は用途に よるんじゃないでしょうか。 彩度が大きい画像をグレースケールにする場合、 さらにそれを人が見る場合、明らかにYの方が よさそうですね。 一方、手書き文書をデジカメで撮影して、文字認識を する、みたいな場合、彩度も低いですし、R,G,B値が R=G=Bの直線上にきれいに乗ってくれているのを わざわざ傾ける理由も無いし、解析的にややこしい だけですから、Iの方が良さそうですね。

zyazya
質問者

お礼

わざわざ実験までしていただいて、ありがとうございます。 予想どおり、グレー画の輝度はYIQのYだったんですね。 一つ勉強になりました。 ところで、IHS初めて見ましたが、 他の軸はどうなってるんでしょう? どんな時に用いるものなのでしょうか? 手間にならないようでしたらお願いします。

  • saikoro
  • ベストアンサー率57% (11/19)
回答No.2

> Y = 0.31R + 0.59G + 0.11B は単に視感度補正(人間の目はGは最も感度が高く、Bは低い)をしているだけですよね。 このYをグレイとして表示するためにはディスプレイの特性にもよりますが、 R=G=Bで表示させればいいだけだと思います。 したがってガンマ(輝度の変化のしかた)を気にしなければカラー画像のR,G,Bから平均をとるなり、Gの値を強制的にR,Bに適用させてもそれなりのグレイ画像になるのではないでしょうか。

zyazya
質問者

お礼

人間はGの感度がもっとも高いんですかー。 ありがとうございます。

noname#1280
noname#1280
回答No.1

理系の学問とのことなので自信が無いのですが。。(^^ゞ 大抵のペイント系のソフトや画像加工系のソフトで「グレースケール」に変換すれば グレーの画像(モノクロで濃淡のある画像)になると思います。

zyazya
質問者

補足

回答ありがとうございますが、 少し質問の仕方が悪かったようなので、補足します。 今みなさんにお聞きしたいのは、グレー化の もっと内部的な働きのことです。 実際の画像加工ソフトでどのような処理を行っているか 詳しく知りませんが、おそらく RGB色空間からYIQ色空間に変換した際のY値(輝度値)、 具体的には Y = 0.31R + 0.59G + 0.11B で求まるYを輝度値と定義し、グレースケールと しているのだと思います。 (文献みただけで、本人あんまり詳しくないです。) このように、輝度値からグレースケールを生成する、 といった方法以外に、カラー→グレーとする 手法はどんなのがあるでしょうか? 輝度値でないということなので、 かならずしも見た目がカラーと似ていなくても、 カラー画像のある色がグレースケールにおいて なんらかの色におきかわってくれさえすればいいです。 専門的な内容なので、分かる人少ないかもしれませんが、 もしいたらお願いします。

関連するQ&A

専門家に質問してみよう