ここではグレースケールの画像データのイメージを掴むために,実際にデータを作成して画像として表示してみましょう.あらかじめ「表示関数の定義」ページを参照し,ライブラリのインポートと関数の定義を実行しておいてください.
まず,16行16列の Numpy 配列を 0 で初期化し,その配列を画像データとして色情報も含めて表示してみます.この場合は,すべての画素が黒になります.
- gray_test = np.zeros([16,16])
- show_zoom_with_color(
- gray_test, xlim=(-.5,15.5), ylim=(15.5, -.5),
- fontsize=8, figsize=(10,10),
- set_axis_off=True
- )
- gray_test
array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
次に16行16列(=256画素)の配列に0から1まで256段階の実数値を格納し,これをグレースケールのデータとして表示します.また最上段と最下段の値を256倍して表示しています.
- gray_test = np.zeros([16,16])
- c = 0
- for i in range(16):
- for j in range(16):
- gray_test[i, j] = c / 255.0
- c += 1
- show_zoom_with_color(
- gray_test, xlim=(-.5,15.5), ylim=(15.5, -.5),
- fontsize=8,
- figsize=(10,10),
- set_axis_off=True,
- show_color=False,
- )
- print(gray_test[0]*255)
- print(gray_test[15]*255)
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.] [240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255.]
同じデータを表示するときに色情報も付与すると,最も暗い 0 から明るい 255 までの 256 段階のグレースケールであることがわかります.
- show_zoom_with_color(
- gray_test, xlim=(-.5,15.5), ylim=(15.5, -.5),
- fontsize=8,
- figsize=(10,10),
- set_axis_off=True,
- show_color=True, # この引数は省略しても良い
- )