Сохранение изображения в файл в Python можно выполнить различными методами. Давайте подробно рассмотрим 6 вышеуказанных способов сохранить изображение в файл на Python.

Содержание

Метод 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().

Здесь мы можем получить список каталогов до и после сохранения в качестве вывода. Вы можете обратиться к скриншоту ниже для вывода.

Python сохранит файл с помощью OpenCV2

Метод 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 и используется для сохранения изображения на диск. Метод обновляет переменную изображения сохраненным изображением.

Как сохранить изображение с помощью подушки в Python

Метод 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().

Python сохраняет изображение в файл, используя matplotlib

Метод 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) для выполнения следующих задач:

  1. Импортирует библиотеки urllib и PIL с помощью операторов import urllib.request и импорта изображений из PIL.
  2. Извлекает изображение по указанному URL-адресу с помощью функции urllib.request.urlretrieve() и сохраняет результат в файле new.png.
  3. Открывает изображение с указанным именем файла new.png с помощью функции PIL.Image.open() и сохраняет его в переменной изображения.
  4. Отображает изображение с помощью функции image.show().

URL-адрес сохраняется в формате изображения, как показано на снимке экрана ниже.

Python сохраняет изображение в файл по 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). Этот процесс сериализует данные изображения в двоичную форму и записывает их в файл, что позволяет сохранить их и получить позже.

Python сохраняет изображение в файл с помощью рассола

Метод 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 для выполнения следующих задач:

  1. Импортирует функции imsave и imread из модуля Skimage.io с помощью оператора from Skimage.io import imsave, imread.
  2. Считывает файл изображения по указанному пути /content/simon-berger.jpg с помощью функции imread() и сохраняет его в переменной img.
  3. Сохраняет изображение на диск с указанным именем файла save_image.jpg с помощью функции imsave(). Переменная img передается как данные изображения, которые необходимо сохранить.

Python сохраняет изображение в файл, используя Skimage

Добавить комментарий