attributeerror:module'pil.image'没有属性'load\u img'

wbgh16ku  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(355)

我试图运行和修改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)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题