numpy.ndarray对象无load_img属性报错:新手求助修正方法
解决'numpy.ndarray' object has no attribute 'load_img'报错
问题原因
load_img是用来从本地文件路径加载图片的工具函数(常见于Keras或相关图像处理库),而你现在的变量img已经是numpy数组类型了,numpy数组本身没有load_img这个方法,所以会触发报错。
修正方案
分两种场景处理:
如果你的目标是从文件加载图片并转成numpy数组:
先调用load_img把文件加载成PIL图像对象,再转成numpy数组,代码示例:from keras.preprocessing.image import load_img, img_to_array # 从指定路径加载图片,可设置target_size调整尺寸 pil_image = load_img("你的图片路径.png", target_size=(224, 224)) # 转换为numpy数组 img = img_to_array(pil_image)如果
img已经是numpy数组,需要对它做后续图像处理:
把numpy数组转成PIL图像对象,用PIL的方法处理,之后可再转回numpy数组,代码示例:from PIL import Image import numpy as np # 将numpy数组转为PIL图像(注意数据类型要匹配,比如uint8) pil_image = Image.fromarray(np.uint8(img)) # 示例:调整图片大小 pil_image = pil_image.resize((224, 224)) # 若需要再转回numpy数组 img = np.array(pil_image)
核心逻辑:load_img是加载文件的入口方法,不是给已加载的numpy数组用的,搞清楚调用时机就不会出错。
内容的提问来源于stack exchange,提问作者ImadeAnewaccount
相关产品推荐
相关产品推荐

