OpenCV 自分用メモ・覚え書き
RGB画素・グレースケール画素の定義
RGB画素、グレーススケール画素は共に色情報を8ビットで表現している。 すなわち、赤・緑・青・白黒の濃淡度合を28-1 = 256段階で分けており、0 - 255 の数値で指定する。
RGB画素
RGB画素は画素値が大きいほど濃い色を表現する。
例えば、(R, G, B) = (255, 0, 0) は最も濃い赤色を表し、(R, G, B) = (0, 255, 0) は最も濃い緑色を表す。
よって、(R, G, B) = (255, 255, 255) は赤・青・緑の最も濃い度合を混色していることを意味し、黒色を表現することとなる。
逆に、(R, G, B) = (0, 0, 0) は全色の最も薄い度合を混色することとなるため、白色を表現することとなる。グレースケール画素
上に載せた写真(デジタル画像 - IGUNOSS,Inc.より引用)が示すように、グレースケール画素は画素値が大きいほど白に近く、画素値が小さいほど黒色に近い色を表現する。
ピクセル数に基づいた大きさで画像を表示したい場合
ウィンドウサイズの指定において、cv2.WINDOW_AUTOSIZE を指定すればよい
cv2.namedWindow("Original image", cv2.WINDOW_AUTOSIZE)
閾値処理 cv2.threshold の第4引数に指定するフラグについて
閾値処理を行う関数 cv2.threshold の引数は
第1引数は対象となる画像データ
第2引数は閾値(0~255)
第3引数は閾値以上のデータに割り当てる最大値
第4引数は閾値の判定処理方法を指定するフラグ
となっている。
第4引数の判定処理方法については、例えば・閾値以上のデータには最大値を割り当て、それ以外は0を割り当てる、や・閾値以上のデータには0を割り当て、閾値以下のデータに最大値を割り当てる、等の割り当て方を指定するということとなる。
具体的には、次のようなものが用意されている。