2017-08-18 1 views
2

Je travaille avec Python 3.redimensionner l'image d'un tableau à 4 dimensions en python

I ont une variable de données à partir du type et de la taille unit8(60000, 1, 28, 28), ce qui signifie que je 60000 images avec une chaîne et une taille de 28x28 pixels.
Maintenant, j'aime redimensionner les images à 60x60 pixels, de sorte que je reçois une taille de (60000, 1, 60, 60)

quelqu'un peut me aider?

Répondre

0

Si vous avez opencv vous pouvez resize en utilisant,

img = pics[i][0] 
new_img = cv2.resize(img, None, fx=2, fy=2, interpolation = cv2.INTER_CUBIC) 

Maintenant, votre i e image est redimensionnée par le facteur 2 à la fois x et y directions (ici pics est le tableau numpy avec vos (60000, 1, 28, 28) images). Si vous n'utilisez pas opencv, vous pouvez l'installer (Recherche google)

Si non, vous pouvez utiliser le paquet PIL. Vous pouvez l'installer en utilisant,

pip install Pillow 

et d'utiliser le code suivant pour redimensionner.

from PIL import Image 
img = pics[i][0] 
im = Image.fromarray(np.rollaxis(img, 0,3)) 
new_im = im.resize((new_x, new_y), Image.BICUBIC) 

Vous pouvez utiliser un for loop pour mettre ces images à un tableau de (60000, 1, x ,y)