Как получить размер изображения python
Перейти к содержимому

Как получить размер изображения python

  • автор:

Как получить размер изображения python

In this article, we are going to discuss how to get the height and width of a particular image.

In order to find the height and width of an image, there are two approaches. The first approach is by using the PIL(Pillow) library and the second approach is by using the Open-CV library.

Approach 1:

PIL is the Python Imaging Library is an important module which is used for image processing. It supports many formats of images such as “jpeg”, “png”, “ppm”, “tiff”, “bmp”, “gif”. It provides many image editing capabilities. The Image module provides a class with the same name which is used to represent a PIL image.

How do I get the picture size with PIL?

How do I get a size of a pictures sides with PIL or any other Python library?

I159's user avatar

7 Answers 7

Gary Sheppard's user avatar

You can use Pillow (Website, Documentation, GitHub, PyPI). Pillow has the same interface as PIL, but works with Python 3.

Installation

If you don’t have administrator rights (sudo on Debian), you can use

Other notes regarding the installation are here.

Speed

This needed 3.21 seconds for 30336 images (JPGs from 31×21 to 424×428, training data from National Data Science Bowl on Kaggle)

This is probably the most important reason to use Pillow instead of something self-written. And you should use Pillow instead of PIL (python-imaging), because it works with Python 3.

Alternative #1: Numpy (deprecated)

I keep scipy.ndimage.imread as the information is still out there, but keep in mind:

imread is deprecated! imread is deprecated in SciPy 1.0.0, and [was] removed in 1.2.0.

Получение и изменение размера изображения в Python

Чтобы получить размер изображения с помощью Pillow в Python, используйте свойство size объекта Image. Свойство size возвращает ширину и высоту изображения.

В этом уроке мы узнаем, как получить размер изображения, другими словами, ширину и высоту изображения, используя библиотеку Pillow.

Синтаксис

Синтаксис для использования свойства size объекта PIL Image приведен ниже.

Пример 1

В следующей программе мы будем читать и изображать, а затем распечатывать его размер, используя свойство size объекта Image.

Пример 2: доступ к ширине и высоте

Вы можете получить доступ к высоте и ширине из свойства size, используя index. В следующем примере мы получим ширину и высоту изображения.

В этом руководстве на примерах Python мы узнали, как получить размер изображения с помощью библиотеки Python Pillow с помощью хорошо подробных примеров программ.

Изменение размера изображения

Чтобы изменить размер изображения с помощью Pillow, вы можете использовать метод resize() класса PIL.Image.Image. Вы можете передать такие параметры, как размер результирующего изображения, фильтр передискретизации пикселей и область блока источника, которую необходимо учитывать.

Синтаксис

Синтаксис метода resize() показан в следующем фрагменте кода.

  • size передается, как кортеж (ширина, высота). Это размер, запрошенный для результирующего выходного изображения после изменения размера.
  • resample – это фильтр, который должен использоваться для повторной выборки, это необязательно. Вы можете пройти:
    • PIL.Image.NEAREST;
    • PIL.Image.BOX;
    • PIL.Image.BILINEAR;
    • PIL.Image.HAMMING;
    • PIL.Image.BICUBIC;
    • PIL.Image.LANCZOS.

    Если для параметра размера заданы правильные значения, вы можете уменьшить или увеличить входное изображение.

    Пример 1: со значениями по умолчанию

    В следующем примере мы прочитаем изображение и изменим его размер до (200, 200).

    Входное изображение

    Выходное изображение

    Для изменения размера рассматривается все исходное изображение, поскольку мы не предоставили никакого значения для параметра box. В следующем примере мы предоставим параметр box и найдем выходное изображение.

    Пример 2: с помощью поля входного изображения

    В следующем примере мы предоставим параметр box. При этом мы рассматриваем только область поля входного изображения, а затем изменяем его размер до нужного размера.

    Выходное изображение

    Если вы заметили, для действия изменения размера учитывается только прямоугольная часть входного изображения.

    В этом руководстве на примерах Python мы узнали, как изменить размер изображения с помощью библиотеки PIL.

    Получение размера изображения (ширина и высота) с помощью Python, OpenCV и Pillow(PIL)

    Бизнес

    В Python есть несколько библиотек для работы с изображениями, например OpenCV и Pillow (PIL). В этом разделе объясняется, как получить размер изображения (ширину и высоту) для каждой из них.

    Вы можете получить размер изображения (ширину и высоту) в виде кортежа, используя shape для OpenCV и size для Pillow (PIL), но обратите внимание, что порядок каждого из них отличается.

    Здесь представлена следующая информация.

    • OpenCV
      • ndarray.shape : Получение размера изображения (ширина, высота)
        • Для цветных изображений
        • Для полутоновых (монохромных) изображений
        • size , width , height : Получение размера изображения (ширина, высота)

        См. следующую статью о том, как получить размер (емкость) файла вместо размера (размера) изображения.

        • Похожие статьи:Получение размера файла или каталога (папки) в Python

        OpenCV: ndarray.shape: Получение размера изображения (ширина, высота)

        Когда файл изображения загружается в OpenCV, он рассматривается как массив NumPy ndarray, а размер изображения (ширина и высота) может быть получен из атрибута shape, который указывает на форму ndarray.

        Не только в OpenCV, но и когда файл изображения загружается в Pillow и преобразуется в ndarray, размер изображения, представленного ndarray, получается с помощью shape.

        Для цветных изображений

        В случае цветных изображений используется следующий трехмерный ndarray.

        • Ряд (высота)
        • Ряд (ширина)
        • Цвет (3)

        форма — это кортеж из вышеперечисленных элементов.

        Чтобы присвоить каждое значение переменной, распакуйте кортеж следующим образом.

        _
        При распаковке кортежа можно условно назначить в качестве переменной значения, которые в дальнейшем не будут использоваться. Например, если количество цветов (количество каналов) не используется, то используется следующее.

        Его также можно использовать как есть, указав его по индексу (index) без присвоения переменной.

        (width, height)
        Если вы хотите получить этот кортеж, вы можете использовать slice и написать следующее: cv2.resize() и т.д. Если вы хотите указать аргумент по размеру, используйте это.

        Для полутоновых (монохромных) изображений

        В случае с полутоновыми (монохромными) изображениями используется следующий двумерный ndarray.

        • Ряд (высота)
        • Ряд (ширина)

        Форма будет представлять собой этот кортеж.

        В принципе, то же самое, что и для цветных изображений.

        Если вы хотите присвоить ширину и высоту переменным, вы можете сделать это следующим образом, независимо от того, является ли изображение цветным или полутоновым.

        (width, height)
        Если вы хотите получить этот кортеж, вы можете использовать slices и записать его следующим образом. Следующий стиль записи можно использовать независимо от того, является ли изображение цветным или полутоновым.

        Pillow(PIL): size, width, height: Получение размера изображения (ширина, высота)

        Объект изображения, полученный при чтении изображения с помощью Pillow(PIL), имеет следующие атрибуты.

        • size
        • width
        • height

        Размер представляет собой следующий кортеж.
        (width, height)

        Вы также можете получить ширину и высоту соответственно в качестве атрибутов.
        width , height

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *