Что такое изображения? В какой форме они существуют?

Примечание. В этой серии статей предполагается, что у вас есть понимание Python на среднем уровне и базовое понимание линейной алгебры (особенно матриц и матричных операций) и исчисления.

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

Быть слепым в этом прекрасном мире - это действительно очень удручающе, так почему же компьютеры упускают возможность развлечься?

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

Если вы продолжите увеличивать изображение, вы можете начать видеть квадраты по всему изображению. Эти квадраты - пиксели. Каждый пиксель имеет 3 канала.

На изображении R.G.B это 3 канала [красный, синий, зеленый]. Цвет пикселя представляет собой смесь красного, синего и зеленого каналов.

Если красный канал имеет значение 1, а другие 2 канала имеют значение 0. Тогда пиксель будет красного цвета. Большинство компьютеров имеют значения цвета пикселей от 0 до 255 (uint8). Некоторые могут иметь диапазон от 0 до 65535 (uint16).

Белый - [255 255 255]

Черный - [0,0,0]

Красный - [255,0,0]

Зеленый - [0,255,0]

Синий - [0,0,255]

Начнем с импорта необходимых пакетов…

import matplotlib.pyplot as plt
import numpy as np

Мы читаем изображение с помощью встроенной функции «pyplot»,

img = plt.imread(‘asuma.jpg’)

Теперь переменная img содержит данные изображения «asuma.jpg».

Numpy - это библиотека Python, которая помогает работать с линейной алгеброй, матрицами и преобразованиями Фурье. Он был создан в 2005 году Трэвисом Олифантом как проект с открытым исходным кодом. Он остается одной из стандартных библиотек в области Data Science.

Давайте посмотрим на пиксель в 1000-й строке и 500-м столбце и проверим, имеет ли он серый цвет.

Давайте теперь закроем лицо чувака большим синим квадратом. Область лица охватывает от 0 до 500 строк и с 1150 до 1650 столбцов.

Давайте создадим свой образ и раскрасим его,

Давайте извлечем каждый канал из созданного нами изображения,

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

Существует множество библиотек компьютерного зрения, одни из лучших из skimage и opencv-python. SciPy также является хорошей альтернативой.

SK-Image не позволяет обрабатывать видео в реальном времени, но opencv делает это. OpenCV также быстрее, чем skimage, но имеет меньше предварительно реализованных алгоритмов. Pillow - это стандартная библиотека для обработки изображений в Python.

Спасибо, оставляйте отзывы в комментариях.