前提・実現したいこと
python1年生の中で出てくる画像ファイルから数字を予測する機能を作っています。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/Users/kawahatadaiki/Documents/predictDigits.py", line 30, in <module> data = imageToData("2.png") File "/Users/kawahatadaiki/Documents/predictDigits.py", line 12, in imageToData numImage = numpy.asarray(grayImage, dtype = float) TypeError: __array__() takes 1 positional argument but 2 were given
該当のソースコード
python
1import sklearn.datasets 2import sklearn.svm 3import PIL.Image 4import numpy 5 6#画像ファイルを数値リストに変換する 7def imageToData(filename): 8 # 画像を8X8のグレースケールに変換 9 grayImage = PIL.Image.open(filename).convert("L") 10 grayImage = grayImage.resize((8,8),PIL.Image.ANTIALIAS) 11 #数値リストに変換 12 numImage = numpy.asarray(grayImage, dtype = float) 13 numImage = numpy.floor(16 - 16 * (numImage / 256)) 14 numImage = numImage.flatten() 15 16 return numImage 17 18#数字を予測する 19def predictDigits(data): 20 #学習用データを読み込む 21 digits = sklearn,datasets,load_digits() 22 #機械学習する 23 clf = sklearn.svm.SVC(gamma = 0.001) 24 clf.fit(digits.data, sigits.target) 25 #予測結果を表示する 26 n = clf.predict([data]) 27 print("予測=",n) 28 29#画像ファイルを数値ファイルに変換する 30data = imageToData("2.png") 31#数字を予測する 32predictDigits(data) 33
補足情報(FW/ツールのバージョンなど)
macOS Big Sur(バージョン11.4)
python 3.8.5
回答2件
あなたの回答
tips
プレビュー