前提・実現したいこと
・「PYTHON1年生」という本で機械学習[画像ファイルから数字を予測するプログラム(手書きの数字を大量のデータから予測して当てる)]の勉強をしているのですがコードを実行したところ存在するはずのファイルが存在しないというエラーが出て作業が止まってます。
発生している問題・エラーメッセージ
Traceback (most recent call last):
File "C:\Users\ユーザー名(仮)\AppData\Local\Programs\Python\Python36-32\predictDigits.py", line 30, in <module>
data = imageToData("2.png")
File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python36-32\predictDigits.py", line 9, in imageToData
greyImage = PIL.Image.open(filename).convert("L")
File "C:\Users\ユーザー名\AppData\Local\Programs\Python\Python36-32\lib\site-packages\PIL\Image.py", line 2904, in open
fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: '2.png'
該当のソースコード
import sklearn.datasets
import sklearn.svm
import PIL.Image
import numpy
画像ファイルを数値リストに変換する
def imageToData(filename):
画像を8x8のグレースケールに変換
greyImage = PIL.Image.open(filename).convert("L")
grayImage = grayImage.resize((8,8),PIL.Image.ANTIALIAS)
数値リストに変換
numImage = numpy.asarray(grayImage, dtype = float)
numImage = numpy.floor(16 - 16 * (numImage / 256))
numImage = numImage.flatten()
return numImage
数字を予測する
def predictDigits(data):
学習用データを読み込む
digits = sklearn.datasets.load_digits()
機械学習する
clf = sklearn.svm.SVC(gamma = 0.001)
clf.fit(digits.data, digits.target)
予測結果を表示する
n = clf.predict([data])
print("予測=",n)
画像ファイルを数値リストに変換する
data = imageToData("2.png")
数字を予測する
predictDigits(data)
・Python ### 試したこと ・誤字脱字のチェック ・ネットで調べる(絶対的パス、カレントディレクトリ←調べて出てきたけれどもこれが何なのか分からず手を付けてないので調べただけ) ### 補足情報(FW/ツールのバージョンなど) windows ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー