Как получить размер сторон изображения с помощью PIL или любой другой библиотеки Python?
Как получить размер изображения с помощью PIL?
Ответ 1
width, height = im.size
В соответствии с документацией.
Ответ 2
Вы можете использовать Pillow (Веб-сайт, Документация, GitHub, PyPI). Подушка имеет тот же интерфейс, что и PIL, но работает с Python 3.
Установка
$ pip install Pillow
Если у вас нет прав администратора (sudo на Debian), вы можете использовать
$ pip install --user Pillow
Другие примечания относительно установки здесь.
код
from PIL import Image
with Image.open(filepath) as img:
width, height = img.size
Speed
Это потребовало 3,21 секунды для 30336 изображений (JPG от 31x21 до 424x428, учебные данные из National Data Science Bowl в Kaggle)
Это, вероятно, самая важная причина для использования подушки вместо того, что самонаписано. И вы должны использовать Pillow вместо PIL (python-imaging), потому что он работает с Python 3.
Альтернатива №1: НОМЕР
import scipy.ndimage
height, width, channels = scipy.ndimage.imread(filepath).shape
Альтернатива №2: Pygame
import pygame
img = pygame.image.load(filepath)
width = img.get_width()
height = img.get_height()
Ответ 3
Так как scipy
imread
устарел, используйте imageio.imread
.
- Установить -
pip install imageio
- Используйте
height, width, channels = imageio.imread(filepath).shape