Статья Автор: Деникина Наталья Владимировна

Изображение в OpenCV

Вернемся к коду, рассмотренному ранее.


После выполнения кода вы увидите результат чтения изображения, представленный в виде многомерного массива Numpy:
[[[  0   0   0]
  [128 128 128]
  [255 255 255]]

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

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


Этот массив представляет собой изображение размером 3x3 пикселя, где каждый пиксель представлен в формате BGR (Blue, Green, Red). Именно в таком формате читает изображения OpenCV.

Давайте разберем структуру массива:

  • Первый уровень массива представляет строки изображения.
  • Второй уровень массива представляет столбцы изображения.
  • Третий уровень массива представляет значения цветов (BGR) для каждого пикселя.
 

Размер изображения и свойство shape

Размер массива можно узнать с помощью свойства shape. Это свойство возвращает кортеж с размерами массива по каждому измерению.

print(image.shape)  # Вывод: (3, 3, 3)

В данном случае (3, 3, 3) означает, что изображение имеет 3 строки, 3 столбца и каждый пиксель представлен 3 значениями (BGR).

Множественное присваивание позволяет удобно разбирать кортеж на отдельные переменные. Например, чтобы получить размеры изображения:



В результате чтения изображения мы получаем трехмерный массив, где каждый элемент массива — это пиксель изображения, представленный тремя значениями (Blue, Green, Red). Рассмотрим каждый пиксель в отдельности:

  • [0, 0, 0] — черный цвет.
  • [128, 128, 128] — серый цвет (среднее значение между черным и белым).
  • [255, 255, 255] — белый цвет.
  • [0, 0, 255] — красный цвет.
  • [0, 255, 0] — зеленый цвет.
  • [255, 0, 0] — синий цвет.
  • [255, 255, 0] — бирюзовый цвет.
  • [255, 0, 255] — желтый цвет.
  • [0, 255, 255] — фиолетовый цвет.
Прикрепленные файлы
pixel3x3.png
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать