Рубрики
Без рубрики

Как отображать изображения с помощью функции Matplotlib Imshow

В информатике изображения представлены в виде массивов чисел. Чтобы отобразить его, используйте функцию matplotlib imshow.

Автор оригинала: Team Python Pool.

Как отображать изображения с помощью функции Matplotlib Imshow

Знаете ли вы, что в компьютерном программировании образы представлены в виде чисел? Любые операции, которые мы выполняем над изображением с помощью языков программирования, мы выполняем над массивами чисел. Мы также можем визуализировать эти изображения с помощью функции imshow библиотеки matplotlib. Matplotlib – это библиотека на python, построенная поверх библиотеки numpy и используемая для представления различных графиков, графиков и изображений с помощью чисел.

Основная функция Matplotlib Imshow-показать объект изображения. Поскольку Matplotlib обычно используется для визуализации данных, изображения могут быть частью данных, и для их проверки мы можем использовать imshow. Кроме того, метод imshow также известен модулем OpenCV для отображения изображений.

Изображения в оттенках серого можно визуализировать с помощью 2-мерного массива, а цветные изображения-с помощью 3-мерного массива. Используя Matplotlib, мы можем представлять как цветные, так и черно – белые изображения. Мы также можем выполнять множество различных операций с изображением, используя различные параметры функции imshow. Давайте рассмотрим все подробно.

Синтаксис Matplotlib Imshow

Чтобы использовать библиотеку matplotlib, нам сначала нужно установить matplotlib с помощью – pip install matplotlib. Затем нам нужно импортировать подмодуль pyplot, который содержит функцию imshow.

После успешной установки библиотеки matplotlib используйте приведенный ниже код для использования функции imshow.

plt.imshow(X,,,,,,,,,)

Параметры-

X – Это данные, которые мы хотим отобразить с помощью imshow. Это может быть в виде списков или массивов. Для серых изображений это 2-D массив, а для цветных изображений мы используем 3-D изображения. Каждый элемент в массиве действует как пиксель.

Cmap– Этот параметр используется для придания цветов неокрашенным изображениям. Мы можем передать любое из приведенных ниже значений в качестве аргумента для этого параметра. Если изображение уже окрашено, параметр cmap игнорируется.

Норма– Этот параметр используется для нормализации значений цвета от 0.0 до 1.0. Это игнорируется в случае цветных изображений.

Аспект – Этот параметр используется для настройки размера изображений. Есть два варианта аргументов – auto и equal. Мы лучше поймем это, когда рассмотрим пример.

Альфа– Если мы хотим изменить прозрачность изображения, мы можем использовать этот параметр. Для непрозрачного изображения используйте ‘1’ в качестве аргумента для этого параметра. А для полностью прозрачного изображения используйте 0. Диапазон-0-1.

Происхождение– Если мы хотим изменить начало координат ((0,0)) с верхнего на нижнее, мы можем установить значение параметра origin как ‘lower.’

В imshow есть еще много параметров, но это самые важные.

Тип возврата-

`~matplotlib.image.AxesImage`

Использование функции Matplotlib Imshow

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

Создание шахматной доски

Мы знаем, что шахматная доска представляет собой матрицу 8×8 только с двумя цветами, то есть белым и черным. Итак, давайте используем numpy для создания массива numpy, состоящего из двух чисел 0 и 1. В программировании один используется для яркого цвета, а 0-для темных/тусклых цветов.

import numpy as np
import matplotlib.pyplot as plt

# create a 8x8 matrix of two numbers-0 and 1. 
# O represents dark color and 1 represents bright color .array([[1,0]*4,[0,1]*4]*4)
print(arr)
# use the imshow function to display the image made from the above array
plt.imshow(arr)
Output-
[[1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]
 [1 0 1 0 1 0 1 0]
 [0 1 0 1 0 1 0 1]]
matplotlib imshow
matplotlib imshow

Как видим, мы получили желаемую матрицу, но цвета не адекватны. Кроме того, мы знаем, что для окрашивания 2-d массива мы используем параметр cmap.

import numpy as np.array([[1,0]*4,[0,1]*4]*4)
# use the 'gray' argument in cmap argument to make the image black and white)
matplotlib imshow
matplotlib imshow

Еще одна важная вещь в этом методе заключается в том, что начало координат начинается в верхнем левом углу. Мы можем изменить его, используя ‘origin’ href=”https://en.wikipedia.org/wiki/Parameter_(computer_programming)”>параметр. href=”https://en.wikipedia.org/wiki/Parameter_(computer_programming)”>параметр.

import numpy as np.array([[1,0]*4,[0,1]*4]*4)
# to change the origin of the image from upper left to lower left,
# use the origin parameter.)

matplotlib imshow
matplotlib imshow

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

Давайте теперь покажем уже существующее изображение с помощью imshow.

Отображение кошки с помощью Matplotlib imshow

Давайте теперь посмотрим, как мы можем отобразить следующую кошку с помощью функции imshow.

Для отображения этого изображения нам сначала нужно прочитать это изображение с помощью функции imread библиотеки matplotlib.pyplott.

Мы должны дать путь этого изображения функции imread. Я работаю в том же месте, где присутствует изображение, поэтому я могу просто написать имя изображения вместе с его расширением.

import matplotlib.pyplot as plt
# read the image in .imread("cat_image.jpeg")
#lET US SEE THE SHAPE OF THE IMAGE.
print(photo.shape)
plt.imshow(photo)
(1253, 1880, 3)
matplotlib imshow
matplotlib imshow

Как мы знаем, цветные изображения хранятся в трехмерном массиве (третье измерение представляет собой RGB( красный, Зеленый, Синий) цвета).

Мы можем сделать это изображение более или менее прозрачным, используя параметр alpha.

import matplotlib.pyplot as plt
# read the image in .imread("cat_image.jpeg")
# set the transparency to 0.5.5)
matplotlib imshow
matplotlib imshow

Надо Читать:

  • Как преобразовать строку в нижний регистр в
  • Как вычислить Квадратный корень
  • Пользовательский ввод | Функция ввода () | Ввод с клавиатуры
  • Лучшая книга для изучения Python

Вывод

Мы изучили, как показать изображения с помощью функции matplotlib imshow. Мы внесли изменения в изображение, используя различные доступные параметры. Вы можете быть более творческими и использовать эти концепции для создания более интересных образов.

Попробуйте запустить программы на вашей стороне и дайте нам знать, если у вас есть какие-либо вопросы.