前提・実現したいこと
「PyThon1年生」という教本に従ってコードを書いております。人工知能アプリに画像を認識させたいのですが、エラーがなくならずどこに要因があるかわかりません。画像を読み込んで表示できるようにしたく、コードを見てアドバイスいただけますと幸甚です。
Exception in Tkinter callback Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 1884, in __call__ return self.func(*args) File "/Users/tannoyuuki/Desktop/pyton_training/chino0.py", line 21, in openFile data=imageToData(fpath) File "/Users/tannoyuuki/Desktop/pyton_training/chino0.py", line 12, in imageToData dispImage=PIL.ImageTK.PhotoImage(grayImage.resize((300,300))) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/PIL/__init__.py", line 42, in __getattr__ raise AttributeError(f"module '{__name__}' has no attribute '{name}'") AttributeError: module 'PIL' has no attribute 'ImageTK'
Python
1import tkinter as tk 2import tkinter.filedialog as fd 3import PIL.Image 4import PIL.ImageTk 5 6#画像ファイルを数値リストに変換する 7def imageToData(filename): 8 #画像を8×8のグレースケールに変換する 9 grayImage=PIL.Image.open(filename).convert("L") 10 grayImage=grayImage.resize((8,8),PIL.Image.ANTIALIAS) 11 #その画像を表示する 12 dispImage=PIL.ImageTK.PhotoImage(grayImage.resize((300,300))) 13 imageLabel.configure(image=dispImage) 14 imageLabel.image=dispImage 15 16#ファイルダイアログを開く 17def openFile(): 18 fpath=fd.askopenfilename() 19 if fpath: 20 #画像ファイルを数値リストに変換する 21 data=imageToData(fpath) 22 23#アプリのウィンドウを作る 24root=tk.Tk() 25root.geometry("400x400") 26 27btn=tk.Button(root,text="ファイルを開く",command=openFile) 28imageLabel=tk.Label() 29 30btn.pack() 31imageLabel.pack() 32 33tk.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/13 22:20