Метод imsave() в Matplotlib

Метод imsave() — это функция в библиотеке Matplotlib, используемая для сохранения данных изображения на диск.

С помощью метода imsave() мы можем легко сохранить сгенерированное изображение в указанный нами каталог.

Метод imsave() поддерживает множество форматов изображений для сохранения изображений, таких как PNG, JPEG, BMP и т. д.

Синтаксис метода imsave() выглядит следующим образом:

matplotlib.pyplot.imsave(fname, arr, **kwargs)

Описание параметра:

  • fname: Имя файла для сохранения изображения; оно может быть относительным или абсолютным путём.
  • arr: Представляет массив NumPy изображения.
  • kwargs: Необязательные параметры, используемые для указания таких параметров, как формат изображения и качество изображения для сохранения.

Ниже приведён простой пример использования метода imsave() для сохранения изображения:

Пример

import matplotlib.pyplot as plt
import numpy as np

# Создание двумерных данных изображения
img_data = np.random.random((100, 100))

# Отображение изображения
plt.imshow(img_data)

# Сохранить изображение на диск
plt.imsave('example-test.png', img_data)

В приведенном выше примере мы использовали метод imsave() для сохранения этого изображения в текущий каталог с именем файлаexample-test.png。

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

Откройте текущий каталог, и вы найдете файлexample-test.png, как показано ниже:

В следующем примере показано, как использовать метод imsave() для сохранения изображения в оттенках серого и цветного изображения в текущий каталог:

Пример

import matplotlib.pyplot as plt
import numpy as np

# Создать изображение в оттенках серого
img_gray = np.random.random((100, 100))

# Создать цветное изображение
img_color = np.zeros((100, 100, 3))
img_color[:, :, 0] = np.random.random((100, 100))
img_color[:, :, 1] = np.random.random((100, 100))
img_color[:, :, 2] = np.random.random((100, 100))

# Отобразить изображение в оттенках серого
plt.imshow(img_gray, cmap='gray')

# Сохранить изображение в оттенках серого на диск
plt.imsave('test_gray.png', img_gray, cmap='gray')

# Отобразить цветное изображение
plt.imshow(img_color)

# Сохранить цветное изображение на диск
plt.imsave('test_color.jpg', img_color)

В приведенном выше примере мы использовали модульnumpy.random, чтобы создать изображение в оттенках серого и цветное изображение соответственно, а затем использовали метод imshow() для отображения этих двух изображений соответственно.

Затем мы использовали функцию imsave() для сохранения двух изображений в текущий каталог с именами файловtest_gray.pngиtest_color.jpg。

При сохранении изображения в оттенках серого мы использовали параметр cmap, чтобы сохранить его в формате изображения в оттенках серого.

При сохранении цветного изображения мы не указали формат изображения, и библиотека Matplotlib по умолчанию сохранила его как файл JPEG.

Другие расширения