[C#] カラー画像をグレースケール化する

RGBをグレースケール化するにはNTSC加重平均法が使われることが多い。この方法を使うと、輝度(Y)は以下のように算出できる。

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

ColorMatrixを使ってこの数式を適用することで、画像を簡単にグレースケール化することができる。

ColorMatrix クラス (System.Drawing.Imaging)
http://msdn.microsoft.com/ja-jp/library/system.drawing.imaging.colormatrix(v=vs.110).aspx

サンプルコード

処理例

0008