OpenCV

トップ > チップス > OpenCV
2014-01-08, opencv

グレースケール変換

OpenCVでカラー画像(cv::Mat)をグレースケールに変換する場合、以下のように書くことができます。

cv::cvtColor(src, dst, CV_BGRA2GRAY);

どうもこれしか用意されていないようなのですが、実はカラーからグレースケールに変換するためには色んな手法があって、参考リンクの情報を組み合わせてみると「NTSC係数による加重平均」を採用しているらしいことが分かります。まあ、無難な方法ですよね。

変換と聞いて真っ先に想像するのが「単純平均法」ですが、人間の目の重み付けというか解釈が特殊なんだなぁ、という実験結果が参考リンク(一番目)に出ています。逆に「Gチャンネル(じいちゃん寝る?)法」というユニークな方法も紹介されています。

参考URL

cvtColor(InputArray src, OutputArray dst, int code, int dstCn) http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html#void

この記事は役に立ちましたか?