MATLAB、Python、Scilab、Julia比較ページはこちら
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
はじめに
の
MATLAB,Python,Scilab,Julia比較 第3章 その9【グレースケール①】
MATLAB,Python,Scilab,Julia比較 第3章 その10【グレースケール②】
を書き直したもの。
画像処理を試す場合、RGBではなく、グレースケールで試すことが多い。
というわけで、まずは画像をグレースケール化するところの話をする。
グレースケールも種類があるので、代表的なものの確認もしておく。
グレースケールの方が楽ちん?
これから様々な画像処理をしていくが、
その前に、グレースケール化の話をしておく。
端的に言うと、画像の白黒化をする。
なぜカラーなものをグレースケール化するかというと、
白黒は1チャンネル。
カラーは3チャンネル。
白黒で出来たことは、カラー時には同じことをRGBそれぞれのチャンネルに実施すればOK。
つまり、グレースケールで何かしら画像処理ができることが確認が取れれば
同じことRGBそれぞれにやっていまうだけでOK。
だから、お試しの段階ではグレースケールにしておいた方が分かりやすい。
グレースケールの種類
グレースケールに変換するようなライブラリがあることが多いが、
ここでは、使用しない予定。
ガチな演算で行うことになるが、それほど複雑な演算にはならない。
問題は、グレースケールにもいくつか種類があり、
その種類を認識した上で適切なものを選択する必要がある。
(と言っても、大体一択にはなるんだけど。)
グレースケールの種類は有名どころで、RGB平均、CIE規格、SDTV規格、HDTV規格、Gチャンネル。
それぞれのRGBに対しての補正値を示したがこの表になる。
グレースケール種別 | R | G | B | 備考 |
---|---|---|---|---|
RGB平均 | 0.3333 | 0.3333 | 0.3333 | |
CIE規格 | 0.2126 | 0.7152 | 0.0772 | 国際照明委員会 |
SDTV規格 | 0.2990 | 0.5870 | 0.1140 | 標準画質テレビ |
HDTV規格 | 0.2126 | 0.7152 | 0.0722 | 高精細テレビ |
Gチャンネル | 0.0000 | 1.0000 | 0.0000 | Gのみ抽出 |
RGB平均以外は、Gが強めでBが弱めって感じ。
なぜ、こんな感じになるかというと、
諸説あるが、人間の目は緑を強く感じるらしい。
よって、グレースケールにした際は、Gの成分を強めに残した方が、カラー時の印象に近くなるようだ。
OpenCV等のライブラリはSDTV規格を使用しているらしい。
よって、ここでは、それに則ってSDTV規格のグレースケールで進めるつもり。
コメント