我试图运行和修改tkinter代码并使用“from pil import image”,但我得到了一个属性错误,即pil.image没有属性“load\u img”。我试图将其更改为image.open(),但随后出现了一个新错误,即typeerror:open()得到了一个意外的关键字参数“target\u size”。我不确定应该更改哪个部分来修复此错误。
以下是部分代码:
def predictThis(folder_path):
from PIL import Image
import numpy as np
import cv2
import joblib
from numpy import argmax
model = joblib.load("HOG_SVM.npy")
img_width,img_height=img_size,img_size
label_dict = {0:'Negative COVID-19', 1:'Positive COVID-19'}
test_Image = Image.load_img(folder_path, target_size=(img_width,img_height))
img=np.array(test_Image)
if(img.ndim==3):
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
else:
gray=img
gray=gray/255
resized=cv2.resize(gray,(img_size,img_size))
reshaped=resized.reshape(1,img_size,img_size)
prediction = model.predict(reshaped)
result=np.argmax(prediction,axis=1)[0]
accuracy=float(np.max(prediction,axis=1)[0])
label=label_dict[result]
return "This patient is " + label + " and the accuracy of\nx-ray image recognition is " + str(accuracy)
错误是这样说的:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\user\anaconda3\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:\Users\user\TkinterFyp\untitled3.py", line 71, in browse_button
result = predictThis(filename)
File "C:\Users\user\TkinterFyp\untitled3.py", line 44, in predictThis
test_Image = Image.load_img(folder_path, target_size=(img_width,img_height))
File "C:\Users\user\anaconda3\lib\site-packages\PIL\Image.py", line 62, in __getattr__
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
AttributeError: module 'PIL.Image' has no attribute 'load_img'
更新的解决方案:我将load_img更改为image.open,代码中仍然存在另一个错误,但是这个属性错误现在消失了,谢谢!
def predictThis(folder_path):
from PIL import Image
import numpy as np
import cv2
import joblib
from numpy import argmax
model = joblib.load("HOG_SVM.npy")
img_width,img_height=img_size,img_size
label_dict = {0:'Negative COVID-19', 1:'Positive COVID-19'}
test_Image = Image.open(folder_path).resize((img_width,img_height)) #edited
img=np.array(test_Image)
if(img.ndim==3):
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
else:
gray=img
gray=gray/255
resized=cv2.resize(gray,(img_size,img_size))
reshaped=resized.reshape(1,img_size,img_size)
prediction = model.predict(reshaped)
result=np.argmax(prediction,axis=1)[0]
accuracy=float(np.max(prediction,axis=1)[0])
label=label_dict[result]
return "This patient is " + label + " and the accuracy of\nx-ray image recognition is " + str(accuracy)
暂无答案!
目前还没有任何答案,快来回答吧!