Python
1import tkinter as tk 2import tkinter.filedialog as fd 3import PIL.Image 4import PIL.ImageTk 5#機会学習で使うモジュール 6import sklearn.datasets 7import sklearn.svm 8import numpy 9 10#画像ファイルを数値に変換する 11def imageToData(filename): 12 #画像を8x8のグレースケールに変換する 13 grayImage = PIL.Image.open(filename).convert("L") 14 grayImage = grayImage.resize((8,8),PIL.Image.ANTIALIAS) 15 #その画像を表示する 16 dispImage = PIL.ImageTk.PhotoImage(grayImage.resize((300,300))) 17 imageLabel.configure(image = dispImage) 18 imageLabel.image = dispImage 19 20 #数値リストに変換 21 numImage = numpy.asarray(grayImage, dtype = float) 22 numImage = numpy.foor(16 - 16 * (numImage / 256)) 23 numImage = numImage.flatten() 24 return numImage 25 26#数字を予測する 27def predictDigits(data): 28 #学習用データを読みこむ 29 digits = sklearn.datasets.load_digits() 30 #機会学習する 31 clf = sklearn.svm.SVC(gamm = 0.001) 32 clf.fit(digits.data,daigits.target) 33 #予測結果を表示する 34 n = clf.predict([data]) 35 textLabel.configure(text = "この画像は"+str(n)+"です!") 36 37#ファイルダイアログを開く 38def openFile(): 39 fpath = fd.askopenfilename() 40 if fpath: 41 #画像ファイルを数値リストに変換する 42 data = imageToData(fpath) 43 #数字を予測する 44 predaictDigits(data) 45 46#アプリのウィンドウを作る 47root = tk.Tk() 48root.geometry("400x400") 49 50btn = tk.Button(root, text="ファイルを開く",command = openFile) 51imageLabel = tk.Label() 52btn.pack() 53imageLabel.pack() 54 55#予測結果を表示するラベル 56textLabel = tk.Label(text="手書きの数字を認識します!") 57textLabel.pack() 58 59tk.mainloop()
エラー内容
Exception in Tkinter callback
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/init.py", line 1883, in call
return self.func(*args)
File "/Users/idaryuunosuke/Desktop/pyshon1年生/chino.py", line 42, in openFile
data = imageToData(fpath)
File "/Users/idaryuunosuke/Desktop/pyshon1年生/chino.py", line 22, in imageToData
numImage = numpy.foor(16 - 16 * (numImage / 256))
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/init.py", line 219, in getattr
raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'foor'
何か解決策がわかる方がいましたら教えてください
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/19 05:09