image_path_dir = 'C:\\Python'
images_paths = [join(image_path_dir, imagename) for imagename in ['sna3.jpg', 'sna1.jpg', 'bag5.jpg', 't2.jpg', 's3.jpg',
'sn2.jpg', 't2.jpg']]
def img_pre_pro(img, img_width=28, img_height=28):
imgs = [load_img(image_path, target_size=(img_width,img_height)) for image_path in images_paths]
for imga in imgs:
imgs = np.expand_dims(imgs, axis = 2)
imgs_array = np.array([img_to_array(imgss)/255 for imgss in imgs])
return imgs_array
new_img = img_pre_pro('images_paths')
, когда я удаляю оператор expand_dim из функции, он работает хорошо, но мне нужно изменить размер изображения 'rgb' на 1, это довольно сложно, если делать это только с одним изображением. получить ошибку ниже, когда я пытаюсь
> TypeError Traceback (most recent call
> last) <ipython-input-54-bb26feed97ab> in <module>
> 15 return imgs_array
> 16
> ---> 17 new_img = img_pre_pro('images_paths')
> 18
>
> <ipython-input-54-bb26feed97ab> in img_pre_pro(img, img_width,
> img_height)
> 11 for imga in imgs:
> 12
> ---> 13 imgs = np.expand_dims(imgs, axis = 2)
> 14 imgs_array = np.array([img_to_array(imgss)/255 for imgss in imgs])
> 15 return imgs_array
>
> <__array_function__ internals> in expand_dims(*args, **kwargs)
>
> c:\users\allaye\appdata\local\programs\python\python37\lib\site-packages\numpy\lib\shape_base.py
> in expand_dims(a, axis)
> 589 a = asarray(a)
> 590 else:
> --> 591 a = asanyarray(a)
> 592
> 593 if type(axis) not in (tuple, list):
>
> c:\users\allaye\appdata\local\programs\python\python37\lib\site-packages\numpy\core\_asarray.py
> in asanyarray(a, dtype, order)
> 136
> 137 """
> --> 138 return array(a, dtype, copy=False, order=order, subok=True)
> 139
> 140
>
> TypeError: int() argument must be a string, a bytes-like object or a
> number, not 'Image'