Comment obtenir une taille de côté des images avec PIL ou toute autre bibliothèque Python?
from PIL import Image
im = Image.open('whatever.png')
width, height = im.size
Selon le documentation .
Vous pouvez utiliser Pillow ( Website , Documentation , GitHub , PyPI ). Oreiller a la même interface que PIL, mais fonctionne avec Python 3.
$ pip install Pillow
Si vous n’avez pas de droits d’administrateur (Sudo sur Debian), vous pouvez utiliser
$ pip install --user Pillow
D'autres remarques concernant l'installation sont ici .
from PIL import Image
with Image.open(filepath) as img:
width, height = img.size
Cela a pris 3,21 secondes pour 30336 images (fichiers JPG de 31x21 à 424x428, données d'entraînement de National Data Science Bowl sur Kaggle).
C'est probablement la raison la plus importante d'utiliser Pillow au lieu de quelque chose d'auto-écrit. Et vous devriez utiliser Pillow au lieu de PIL (python-imaging), car cela fonctionne avec Python 3.
import scipy.ndimage
height, width, channels = scipy.ndimage.imread(filepath).shape
import pygame
img = pygame.image.load(filepath)
width = img.get_width()
height = img.get_height()
Puisque scipy
'imread
est obsolète, utilisez imageio.imread
.
pip install imageio
height, width, channels = imageio.imread(filepath).shape
Voici comment obtenir la taille de l'image à partir de l'URL donnée dans Python 3:
from PIL import Image
import urllib.request
from io import BytesIO
file = BytesIO(urllib.request.urlopen('http://getwallpapers.com/wallpaper/full/b/8/d/32803.jpg').read())
im = Image.open(file)
width, height = im.size
Ceci est un exemple complet de chargement d’image depuis une URL, créer avec PIL, imprimer la taille et redimensionner ...
import requests
h = { 'User-Agent': 'Neo'}
r = requests.get("https://images.freeimages.com/images/large-previews/85c/football-1442407.jpg", headers=h)
from PIL import Image
from io import BytesIO
# create image from binary content
i = Image.open(BytesIO(r.content))
width, height = i.size
print(width, height)
i = i.resize((100,100))
display(i)