グレースケールで表示する
◉グレースケールを使う理由
グレースケールは、カラー画像から色の情報(RGB)を捨て、
明るさの度合いだけで表現する。
画像から特徴を見つける場合、
ポイントとなる境界や輪郭は、色情報よりも明るさの違いの方が
コンピュータにとっては判断が簡単。
また、色情報はRGBの3つの情報(3チャンネルと呼ぶ)を持たないと
いけないが、グレースケールだと、明るさ(輝度)の情報のみで良い。
3チャンネルが1チャンネルになることで、
コンピュータが扱う情報量を減らすことができ、
スピードアップにもつながる。
そのため、画像検出の前処理で、グレースケールを使うことが多い。
◉画像をグレースケールにする方法
cv2.cvtColor(画像, 変換させる方法)
⚫︎画像:グレースケールにしたい画像
⚫︎変換させる方法:グレースケールなので、「cv2.COLOR_RGB2GRAY」
<画像をグレースケールにするPythonコード例>
import sys
import cv2
if len(sys.argv)<2:
print('表示したいファイル名を指定してください。')
sys.exit()
file = sys.argv[1]
try:
img = cv2.imread( ' file ' )
if img is None:
raise ValueError('ファイルが見つかりません')
img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
cv2.imshow(file, img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
except ValueError as e:
print(e)
except:
import traceback
traceback.print_exc()