042_数字の画像を読みこんで表示させてみよう

学習ができたので、ついに予測をさせてみましょう!

目次

予測の準備

以下の手順で準備を行っていきましょう。

STEP
画像ファイルをノートブックにアップロード
STEP
画像を読み込み、グレースケールに変換
STEP
8×8の画像に変換
STEP
色の濃さを0~16の17段階に変換
STEP
8×8のデータを1行のデータに変換

①画像ファイルをノートブックにアップロード

サンプル用の画像を用意してGoogle Colabのノートにアップロードしていきましょう。そのときの手順も紹介します!

フォルダを開く

Google Colabの左側にある①フォルダアイコンをクリックするとノートブック上でフォルダを開くことができます。

ファイルを選択

①アップロードボタンをクリックして、アップロードしたいファイルを選択します。今回は、数字の画像0~9をアップロードしておきましょう!

Google Colabでアップロードしたファイルは、数時間経ったり、PCを閉じたりすると自動で削除されてしまいます。

新しい数字を渡して予測して確認する!

画像処理をするためにPIL(pillow)ライブラリを使用します。
Image.openで画像ファイルを読み込み、グレースケールに変換するのでconvert(“L”)を追加しておきます。

では、読み込んだ画像を描画して確認してみましょう。

コード

from PIL import Image
import matplotlib.pyplot as plt

image = Image.open("7.png").convert("L")

plt.imshow(image, cmap="gray")
plt.show()

参考資料:Python3年生機械学習のしくみ

実行結果

次は、8×8の画像に変換してみます!

コード

#1 8×8の画像に変換
#2 グレースケールで表示

import PIL

image = image.resize((8, 8), PIL.Image.Resampling.LANCZOS)   #1
plt.imshow(image, cmap="gray")    #2
plt.show()

参考資料:Python3年生機械学習のしくみ

実行結果

色の濃さを変換する前に、8×8の画像の色の濃さを数値化して確認してみましょう!

コード

#1 8×8の画像の色の濃さを数値化

import numpy as np

img = np.asarray(image, dtype=float)    #1
print(img)

参考資料:Python3年生機械学習のしくみ

実行結果

様々な数字が表示されましたね。
ここでは、0:黒255:白というデータになっています。

次回は、この0~255のデータ17段階に分けていきましょう!

目次