J'utilise Google Colab pour exécuter python code et essayer d'abattre des images.
from keras.layers import Lambda
import tensorflow as tf
from skimage import data, io, filters
import numpy as np
from numpy import array
from numpy.random import randint
from scipy.misc import imresize
import os
import sys
import matplotlib.pyplot as plt
plt.switch_backend('agg')
# Takes list of images and provide LR images in form of numpy array
def lr_images(images_real , downscale):
images = []
for img in range(len(images_real)):
images.append(imresize(images_real[img],[images_real[img].shape[0]//downscale,images_real[img].shape[1]//downscale], interp='bicubic', mode=None))
images_lr = array(images)
return images_lr
Il devrait réduire les images, mais montrer cette erreur.
de Scipire.Misc Import IMResize ImporterRor: Impossible d'importer le nom 'imresize'
Vous pouvez essayer celui-ci:
skimage.transform.resize
https://scikit-image.org/docs/stable/auto_examples/transform/plot_rescale.html
Vous pouvez utiliser un oreiller comme suggéré dans les commentaires. Les modifications de votre code seraient comme mentionnées ci-dessous:
import PIL
images.append(np.array(PIL.Image.fromarray(images_real[img]).resize(
[images_real[img].shape[0]//downscale,
images_real[img].shape[1]//downscale],resample=PIL.Image.BICUBIC)))
Si votre image est représentée comme un flotteur, vous obtiendrez une erreur disant "Impossible de gérer ce type de données". Dans ce cas, vous devez convertir l'image au format UINT comme celui-ci:
images.append(np.array(PIL.Image.fromarray(
(images_real[img]*255).astype(np.uint8)).resize(
[images_real[img].shape[0]//downscale,
images_real[img].shape[1]//downscale],resample=PIL.Image.BICUBIC)))
installez Scipy 1.1.0 par:
pip install scipy==1.1.0