// // //

手書き文字認識の実装をしてみる、その2(手書き文字イメージをコンピュータが理解できる形に変換)【Python、機械学習】

writing_skill_2_00 Programming
writing_skill_2_00
この記事は約2分で読めます。

手書き文字イメージをコンピュータが理解できる形に変換する方法

前回の記事では、MNISTデータセットの解説とそのダウンロード、セーブ、ロードの方法を具体的に解説いたしました。今回は手書き文字のイメージをコンピュータが理解できる形に変換する方法をお話ししていきます。文字イメージを作る方法は特になんでも良いのですが、ここでは、iPad Proで”Notes"とApple pencilを使って数字を描き、それをスクリーンショットでMacBookにAirDropする方法を解説しますね。

3_0riginal
3_0riginal

ここではiPadでNotesを開き、Apple pencilを使って、”3”の文字を書きます。

3

文字の部分だけを切り抜き、AirDropでMacBookに送ります。このイメージの名前を”3.png"に変更しホームの直下にセーブします。

上のコードを実行するとMNISTのデーターセットと同じ28x28ピクセルの256段階のデータに変換することができます。

3_reverse
3_reverse

また、10行目の変数"size"を変更することにより、イメージの"粗さ”を変更できます。上記の例は”28”の場合ですが、”8”の場合と”64”の場合のイメージを以下に表示します。

3_8R
3_8R

8X8のサイズです。これはsklearnのトイデータにあるデータセットと同じサイズです。

3_64R
3_64R

上のイメージは64x64のサイズです。これぐらいのサイズになると元のイメージをかなり再現していますね。

まとめ

前回の記事では、MNISTデータセットの解説と読み込み、そして今回の記事では、実際に自分で書いた手書き文字をMNISTデータと同じ形式に変換する方法を説明しました。そして次回では、いよいよ、MNISTデータセットを使って学習したアルゴリズムを使って、実際の手書き文字を判別する方法を解説していきます。
それでは、最後までお付き合い頂きありがとうございました。さようなら。

コメント