Сохранение изображения в файл в Python можно выполнить различными методами. Давайте подробно рассмотрим 6 вышеуказанных способов сохранить изображение в файл на Python.
- Метод 1: используя библиотеку OpenCV
- Метод 2: с помощью библиотеки PIL
- Метод 3: используя библиотеку matplotlib
- Метод 4: используя библиотеку URLLIB
- Метод 5: с помощью модуля Pickle
- Метод 6: используя библиотеку Skimage
Метод 1: используя библиотеку OpenCV
OpenCV — популярная библиотека компьютерного зрения, которая предоставляет функцию cv2.imwrite() для сохранения изображения в файл на Python.
# Import the necessary libraries
import cv2
import os
# Set the file path for the source image
path = r'C:\Users\Administrator.SHAREPOINTSKY\Downloads\dora.jpg'
# Set the directory for saving the image
directory = r'C:\Users\Administrator.SHAREPOINTSKY\Desktop\Work'
# Load the image using OpenCV
img = cv2.imread(path)
# Change the working directory to the specified directory for saving the image
os.chdir(directory)
# Print the list of files in the directory before saving the image
print("Before saving")
print(os.listdir(directory))
# Save the image with the filename "cat.jpg"
filename = 'cat.jpg'
cv2.imwrite(filename, img)
# Print the list of files in the directory after saving the image
print("After saving")
print(os.listdir(directory))
Приведенный выше код использует библиотеки OpenCV и ОС в Python для выполнения следующих задач:
- Импортирует необходимые библиотеки: cv2 и os.
- Устанавливает путь к файлу исходного изображения как путь, который представляет собой строку, представляющую расположение файла в локальной системе.
- Задает каталог для сохранения изображения в каталоге, который представляет собой строку, представляющую расположение каталога в локальной системе.
- Загружает изображение с помощью функции cv2.imread() и сохраняет его в переменной img.
- Изменяет текущий рабочий каталог на указанный каталог для сохранения изображения с помощью функции os.chdir().
- Печатает список файлов в каталоге перед сохранением изображения с помощью функции os.listdir() и оператора print().
- Сохраняет изображение в указанный каталог с именем файла cat.jpg с помощью функции cv2.imwrite().
- Печатает список файлов в каталоге после сохранения изображения с помощью функции os.listdir() и оператора print().
Здесь мы можем получить список каталогов до и после сохранения в качестве вывода. Вы можете обратиться к скриншоту ниже для вывода.

Метод 2: с помощью библиотеки PIL
PIL(Python Imaging Library) — еще одна популярная библиотека для манипулирования изображениями в Python. Он предоставляет метод Image.save() для сохранения изображения в файл.
# Import the Image module from the PIL library
from PIL import Image
import PIL
# Open the image with the specified file path
picture = Image.open(r'Downloads\3.jpg')
# Save the image with the specified file name
picture = picture.save("dolls.jpg")
Приведенный выше код использует библиотеку изображений Python(PIL) для выполнения следующих задач:
- Импортирует модуль изображения из библиотеки PIL с помощью оператора импорта изображения from PIL.
- Импортирует библиотеку PIL с помощью оператора import PIL.
- Открывает изображение по указанному пути к файлу с помощью функции Image.open() и сохраняет его в переменной изображения.
- Сохраняет изображение с указанным именем файла Dolls.jpg, используя метод .save(). Метод .save() является методом класса Image и используется для сохранения изображения на диск. Метод обновляет переменную изображения сохраненным изображением.

Метод 3: используя библиотеку matplotlib
Matplotlib — это библиотека построения графиков на Python, которая предоставляет функцию savefig() для сохранения фигуры в файл. Чтобы сохранить изображение, вы можете сначала построить его с помощью Matplotlib, а затем сохранить с помощью функции savefig().
# Import the matplotlib.pyplot library as plt
import matplotlib.pyplot as plt
# Read the image file
img = plt.imread("/content/simon-berger.jpg")
# Display the image
plt.imshow(img)
# Save the image
plt.savefig("saved_image.jpg")
Приведенный выше код использует библиотеку matplotlib для выполнения следующих задач:
- Импортирует модуль Pyplot Matplotlib, используя оператор import matplotlib.pyplot as plt.
- Считывает файл изображения по указанному пути с помощью функции plt.imread() и сохраняет его в переменной img.
- Отображает изображение с помощью функции plt.imshow().
- Сохраняет изображение на диск с указанным именем файла save_image.jpg с помощью функции plt.savefig().

Метод 4: используя библиотеку URLLIB
Другой способ сохранить изображение в файл в Python — использовать библиотеку urllib. Библиотека urllib предоставляет функцию urlretrieve(), которую можно использовать для загрузки изображения по URL-адресу и сохранения его в файл.
# Import the urllib and PIL libraries
import urllib.request
from PIL import Image
import PIL
# Retrieve the image from the specified URL and print the result
print(urllib.request.urlretrieve("https://bit.ly/3oAeohK"))
# Open the image with the specified file name
image = PIL.Image.open("new.png")
# Show the image
image.show()
Приведенный выше код использует urllib и библиотеку изображений Python(PIL) для выполнения следующих задач:
- Импортирует библиотеки urllib и PIL с помощью операторов import urllib.request и импорта изображений из PIL.
- Извлекает изображение по указанному URL-адресу с помощью функции urllib.request.urlretrieve() и сохраняет результат в файле new.png.
- Открывает изображение с указанным именем файла new.png с помощью функции PIL.Image.open() и сохраняет его в переменной изображения.
- Отображает изображение с помощью функции image.show().
URL-адрес сохраняется в формате изображения, как показано на снимке экрана ниже.

Метод 5: с помощью модуля Pickle
Модуль Pickle в Python также можно использовать для сохранения изображения в файл. Pickle — это модуль, который позволяет сериализовать и десериализовать объекты Python, включая изображения.
# Import the pickle and matplotlib.pyplot modules
import pickle
import matplotlib.pyplot as plt
# Read the image file with the specified file path
img = plt.imread("/content/saved_image.jpg")
# Open the file with write binary mode to store the image using pickle
with open("saved_image.pickle", "wb") as f:
# Dump the image data into the file using pickle
pickle.dump(img, f)
Приведенный выше код выполняет следующие задачи:
- Импортирует модули Pickle и matplotlib.pyplot.
- Считывает файл изображения по указанному пути /content/saved_image.jpg с помощью функции plt.imread() и сохраняет данные изображения в переменной img.
- Открывает файл с указанным именем save_image.pickle в двоичном режиме записи, используя оператор with open(“saved_image.pickle”, “wb”) as f:.
- Сбрасывает данные изображения, хранящиеся в переменной img, в открытый файл с помощью оператора Pickle.dump(img, f). Этот процесс сериализует данные изображения в двоичную форму и записывает их в файл, что позволяет сохранить их и получить позже.

Метод 6: используя библиотеку Skimage
Scikit-image — это библиотека для обработки изображений в Python, которая предоставляет функцию imsave() для сохранения изображения в файл.
# Import the imsave and imread functions from the skimage.io module
from skimage.io import imsave, imread
# Read the image file with the specified file path
img = imread("/content/simon-berger.jpg")
# Save the image to disk with the specified file name
imsave("saved_image.jpg", img)
Приведенный выше код использует библиотеку Skimage для выполнения следующих задач:
- Импортирует функции imsave и imread из модуля Skimage.io с помощью оператора from Skimage.io import imsave, imread.
- Считывает файл изображения по указанному пути /content/simon-berger.jpg с помощью функции imread() и сохраняет его в переменной img.
- Сохраняет изображение на диск с указанным именем файла save_image.jpg с помощью функции imsave(). Переменная img передается как данные изображения, которые необходимо сохранить.
