Get image data python

Get the Basic image information with Pillow | Python

In this tutorial, we are going to learn how to get the basic information about an image using Python Imaging Library(PIL) i.e also known as ‘Pillow’. In this library, there are many modules but we will be using only the ‘Image’ module because it contains all the functions that are required for retrieving the information from an image.

While working in the Image Processing domain more often you need to work with image data, therefore it is essential to know how to retrieve the required information from an input image, and even though you not doing Image Processing it always good to know something about a field instead of nothing.

Image Module Functions in Python

There are many functions that are supported by the Image Module for Image Processing, it is not possible to discuss each and every function in detail here. So, we will be discussing only the required functions that we are going to use afterward in our code.

  • Image.filename – This function is used to get the file name or the path of the image. If the image is not opened using ‘open()’ function it returns the null string.
  • Image.format – This function is used to get the file format of the image like JPEG/JPG, PNG, GIF, etc.
  • Image.mode – This function is used to get the pixel format of the image like RGB, RGBA, CMYK, etc.
  • Image.size – This function returns the tuple consist of width & height of the image.
  • Image.width – This function returns only the width of the image.
  • Image.height – This function returns only the height of the image.
  • Image.palette – This function returns the color palette table if any, otherwise returns none.
  • Image.info – This function returns some non-image information in dictionary format.
Читайте также:  Welcome to CodexWorld

To learn more about Image Module or Pillow library you can refer to its documentation.

Image information in Python with Pillow

First of all, we need to install the required libraries or modules:

Installation:

Now comes the actual code, I would suggest you read the code it is very sweet, short and simple code to understand. Afterward, I’ll be explaining to you the code thoroughly.

Source Code:

# Importing Required Library from PIL import Image # Opening Image as an object Img = Image.open("test.jpg") # Getting the filename of image print("Filename : ",Img.filename) # Getting the format of image print("Format : ",Img.format) # Getting the mode of image print("Mode : ",Img.mode) # Getting the size of image print("Size : ",Img.size) # Getting only the width of image print("Width : ",Img.width) # Getting only the height of image print("Height : ",Img.height) # Getting the color palette of image print("Image Palette : ",Img.palette) # Getting the info about image print("Image Info : ",Img.info) # Closing Image object Img.close()

After reading the code you would have come to know two things that the image used is named as ‘test’ and it is in ‘JPEG/JPG’ format. So, the answer to the first two lines has been already decoded. Next comes the mode, as it is a JPG image so its mode would probably be ‘RGB’ if it would be PNG/GIF or any other format, then it could be ‘RGBA/RGB/CYMK’. Next comes the size of the image, so it would return the tuple consisting of the width and height of Image in ‘Pixels’. If we want width and height separately we can use the other two functions below. Next comes the image color palette if it would exist the table would return else None. Next comes the image info, it would return some ‘JFIF’ information related to image like its version, unit, density, etc. Let’s see what all comes out of it.

Читайте также:  Стили для шрифтов пример css

Output:

Image Used: Image information in Python with Pillow
Information Retrieved:

Image information in Python with Pillow

So In this way, we can get the basic information of the image using python, I hope this tutorial was helpful to you. Thank you ‘Keep learning Keep Coding’.

Источник

Как с помощью Python извлечь метаданные изображения

Узнайте, как можно извлекать метаданные изображения, такие как информация GPS, марка камеры, модель и многое другое, с помощью Exchangeable Image File Format (EXIF) в Python с библиотекой Pillow.

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

Такие устройства, как цифровые камеры, смартфоны и сканеры, используют стандарт EXIF એ ​​для сохранения изображений или аудиофайлов. Этот стандарт содержит множество полезных тегов для извлечения, которые могут быть полезны для судебных расследований. например, марка, модель устройства, точная дата и время создания изображения и даже информация GPS на некоторых устройствах.

Обратите внимание, что есть абсолютно бесплатные инструменты для извлечения метаданных, такие как ImageMagick или ExifTool в Linux , моя цель — получить метаданные с помощью языка программирования Python.

Для начала вам необходимо установить библиотеку Pillow:

Откройте новый файл Python и запишите:

from PIL import Image from PIL.ExifTags import TAGS

Теперь это будет работать только с файлами изображений JPEG એ , найдите в своих закромах любое изображение и пощупайте его, используя материалы этой записки (если вы хотите протестировать мое изображение, вы найдете его в репозитории учебника):

# путь к изображению или видео imagename = "image.jpg" # читать данные изображения с помощью PIL image = Image.open(imagename)

После чтения изображения с помощью функции Image.open() вызовем метод getexif() для изображения, которая возвращает метаданные изображения:

# извлечь данные EXIF exifdata = image.getexif()

Проблема с переменной exifdata заключается в том, что имена полей — это просто идентификаторы, а не удобочитаемое имена, поэтому нам понадобится словарь TAGS из модуля PIL.ExifTags, который отображает каждый идентификатор в человеческий текст:

# iterating over all EXIF data fields for tag_id in exifdata: # получить имя тега вместо идентификатора tag = TAGS.get(tag_id, tag_id) data = exifdata.get(tag_id) # декодировать байты if isinstance(data, bytes): data = data.decode() print(f": ")

Вот какая у меня получилось утилитка, для которой в командной строке надо задавать имя файла:

from PIL import Image from PIL.ExifTags import TAGS import sys # путь к изображению или видео imagename = sys.argv[1] # читать данные изображения с помощью PIL image = Image.open(imagename) # извлечь данные EXIF exifdata = image.getexif() # перебор всех полей данных EXIF for tag_id in exifdata: # получить имя тега вместо нечитаемого идентификатора tag = TAGS.get(tag_id, tag_id) data = exifdata.get(tag_id) # декодировать байты if isinstance(data, bytes): data = data.decode() print(f":% ")
ImageWidth :% 5312 ImageLength :% 2988 ResolutionUnit :% 2 ExifOffset :% 226 Make :% samsung Model :% SM-G920F Software :% G920FXXS4DPI4 Orientation :% 1 DateTime :% 2016:11:10 19:33:22 YCbCrPositioning :% 1 XResolution :% 72.0 YResolution :% 72.0

Куча полезных вещей, быстро погуглив Модель, я пришел к выводу, что это изображение было снято Samsung Galaxy S6. Запустите скрипт для изображений, снятых другими камерами, и вы увидите другие поля, возможно их будет больше.

Для утренней разминки достаточно, хватит. Для вас интересная задача — с интересного вам URL-адреса загрузите все изображения, а затем запустить описанный сценарий для каждого из полученных, изучите результаты!

Print Friendly, PDF & Email

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

Ограничение ответственности

Информация на сайте предоставляется «как есть», без всяких гарантий, включая гарантию применимости в определенных целях, коммерческой пригодности и т.п. В текстах могут быть технические неточности и ошибки. Автор не может гарантировать полноты, достоверности и актуальности всей информации, не несет ответственности за последствия использования сайта третьими лицами. Автор не делает никаких заявлений, не дает никаких гарантий и оценок относительно того, что результаты, размещенные на сайте и описанные в заявлениях относительно будущих результатов, будут достигнуты. Автор не несет ответственности за убытки, возникшие у пользователей или третьих лиц в результате использования ими сайта, включая упущенную выгоду. Автор не несет ответственности за убытки, возникшие в результате действий пользователей, явно не соответствующих обычным правилам работы с информацией в сети Интернет. Пользуясь сайтом, вы принимаете и соглашаетесь со всеми нашими правилами, включая «Ограничение ответственности».

Рекомендую

Время, где сейчас

До восхода не будить и при пожаре выносить в первую очередь, а после заката звонить только в экстренных случаях:

Скоро, скоро Новый год

Рубрики

Отче наш

Отче наш, Иже еси́ на небесе́х! Да святи́тся имя Твое́, да прии́дет Ца́рствие Твое, да будет воля Твоя, я́ко на небеси́ и на земли́. Хлеб наш насу́щный даждь нам днесь; и оста́ви нам до́лги наша, я́коже и мы оставля́ем должнико́м нашим; и не введи́ нас во искушение, но изба́ви нас от лука́ваго

Под контролем

  1. Академия студенчества
  2. ИЛИМК
  3. Офис академического письма
  4. МАЛиМК
  5. НОЦ Лингво-инновационных технологий
  6. Партнерская сеть «Институт Пушкина»
  7. Центр делового образования
  8. Центр «Лингва»
  9. Управление инновациями и инвестициями
  10. Финансовый менеджмент
  11. Кафедра ИТЭ
  12. Кафедра ЦЭИИТ
  13. Бизнес-информатика + Кванториум
  14. ВКР: Бизнес-информатика
  15. Бизнес-информатика on-line
  16. Бизнес-информатика — драйв цифровой трансформации
  17. ЭУ-160
  18. ЭУ-235
  19. ЭУ-320
  20. ЭУ-442
  21. ЭУ-419 (архив)
  22. ЭУ-444, 461 (архив)
  23. ЭУ-459 (архив)
  24. ЭУ-434 (архив)
  25. Магистры Бизнес-информатики
  26. Магистратура ВШЭУ
  27. Технологическая площадка
  28. Digital Experience Workshop
  29. Cтэк технологий Web-разработки: шаг за шагом
  30. Абитуриент ВШЭУ — 2018
  31. Школа бизнеса ВШЭУ
  32. Кибер-студент
  33. Зеркало сайта
  34. ИТ-марафон
  35. Покори свой Олимп
  36. Digital Experience
  37. ООО «ЮЖУРАЛСЕРВИС»
  38. Школа перспективных технологий
  39. Бизнес‑информатике 15 лет

Источник

Оцените статью