グレースケール変換
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
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について