python - ejemplos - django
¿Cómo obtengo el tamaño de la imagen con PIL? (3)
¿Cómo puedo obtener un tamaño de una imagen con PIL o cualquier otra biblioteca de Python?
Como el scipy
de imread
está en desuso, use imageio.imread
.
- Instalar -
pip install imageio
- Use
height, width, channels = imageio.imread(filepath).shape
Puede usar Pillow ( Website , Documentation , GitHub , PyPI ). Pillow tiene la misma interfaz que PIL, pero funciona con Python 3.
Instalación
$ pip install Pillow
Si no tiene derechos de administrador (sudo en Debian), puede usar
$ pip install --user Pillow
Otras notas con respecto a la instalación están here .
Código
from PIL import Image
with Image.open(filepath) as img:
width, height = img.size
Velocidad
Esto necesitó 3.21 segundos para 30336 imágenes (JPG de 31x21 a 424x428, datos de entrenamiento del National Data Science Bowl en Kaggle)
Esta es probablemente la razón más importante para usar Pillow en lugar de algo escrito por uno mismo. Y debe usar Pillow en lugar de PIL (python-imageing), porque funciona con Python 3.
Alternativa # 1: Numpy
import scipy.ndimage
height, width, channels = scipy.ndimage.imread(filepath).shape
Alternativa # 2: Pygame
import pygame
img = pygame.image.load(filepath)
width = img.get_width()
height = img.get_height()
from PIL import Image
im = Image.open(''whatever.png'')
width, height = im.size
De acuerdo con la documentation .