ML

Распознавание образов в Python. Часть II — изучение массивов пикселей

Предыдущая статья — Распознавание образов в Python. Часть I — введение.

Теперь мы полностью готовы погрузиться в вопрос численного представления изображения. Для этого мы будем использовать библиотеку PIL или Pillow (в зависимости от того, какая у нас стоит версия Python, 32-х или 64-битная).

# if you are on 32 bit os
# import Image

# 64 bit with pillow:
from PIL import Image
import numpy as np 

В зависимости от битности вашей версии Python импортируйте библиотеку PIL или Pillow. Мы используем PIL, так как у нас 64-битная версия Python. Для операций с числами мы также подгружаем библиотеку NumPy.

Теперь давайте помотрим, как наше изображение выглядит в виде чисел:

i = Image.open('images/dot.png')
iar = np.asarray(i)
print(iar) 

Сначала мы открыли наш файл с изображением, затем преобразовали в массив NumPy и сохранили его в переменную iar. После этого мы вывели результат на экран.

Результат, с неочищенными данными, должен выглядеть примерно так:

[[[  0   0   0 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]

...

 [[255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]
  [255 255 255 255]]]

Это трехмерный массив данных. Эти данные представляют собой изображение, а каждый матричный блок — это ряд данных, где каждый элемент является пикселем в формате RGB-A (Red, Green, Blue, Alpha). Картинка ниже поможет разобраться в этом вопросе:

Следующая статья — Распознавание образов в Python. Часть III — еще про массивы пикселей.

Ilyaragalin

Recent Posts

7 наилучших библиотек визуализации Python на 2024 год

Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…

2 дня ago

Как преобразовать строку в байты в Python

В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…

2 недели ago

Что такое Werkzeug?

В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…

2 недели ago

Как прибавить дни, месяцы и годы к дате в Python

При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…

3 недели ago

Социальная аутентификация в приложении на Flask

В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…

1 месяц ago

Проверка типов в Python

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

1 месяц ago