#グレースケールとは#
ざっくりと説明しますと,
黒から白の値(0~255)で画像を表現するってことですね.
#二値化とは#
こちらもざっくりと説明しますと,
黒か白(0 or 255)で画像を表現するってことですね.
白黒はっきりしてるってことですね.
#グレースケールと二値化のまとめ#
表現 | 値 |
---|---|
グレースケール | 0 ~ 255 |
二値化 | 0 or 1 |
#コード#
import numpy as np
from PIL import Image
from matplotlib import pylab as plt
img = np.array(Image.open('lena.jpg').convert('L'), 'f')
img = (img > 128) * 255
plt.imshow(img)
plt.show()
convert('L')
は読み込んだ画像をグレースケールにしてくれるんです.
そして'f'
は型をfloat
にしてくれるってことですね.
img = (img > 128) * 255
は二値化する計算をしています.
ちょっと説明します.
##二値化の方法##
まず画像をグレースケールにします.
この段階で各ピクセルのあたいは0 ~ 255
のはずです.
次に閾値を決めて,それより値が大きかったら白(255),小さかったら黒(0)にします.
くわしくはこちら