Python е известен със своята гъвкавост. Можете да създадете реални помощни инструменти в Python, които могат да опростят и автоматизират определени задачи.

Научете как да създадете преобразувател на типове изображения само с няколко прости реда код на Python. Независимо дали става въпрос за един файл с изображение или за всички файлове в директория, можете лесно да конвертирате между различни формати.

Инсталиране на необходимите библиотеки

Трябва да инсталирате Възглавница Библиотека на Python за изграждане на конвертор на тип изображения в Python. Тази библиотека подобрява възможностите за обработка на изображения на вашия интерпретатор на Python. Можете да създадете общ инструмент за обработка на изображения, като използвате няколко модула от тази библиотека. Някои от най-полезните са Изображение, ImageFile, Филтър за изображения, и ImageStat модули.

Изпълнете следната команда в терминала, за да инсталирате библиотеката на Pillow Python:

пип Инсталирай възглавница

След като инсталирате Pillow на вашата система, вие сте готови да работите с изображения.

instagram viewer

Зареждане и показване на свойства на изображение

Първо трябва да импортирате Изображение модул от PIL библиотека за настройка на кода. След това трябва да използвате Image.open() метод за зареждане на изображението и присвояването му на променлива. След като заредите изображението, можете да го покажете с помощта на покажи () метод.

Кодът за конвертор на формат на изображение е наличен в a GitHub хранилище и е безплатен за използване под лиценза на MIT.

от PIL импортиране Изображение
изображение = Изображение.open('образец-изображение.jpg')
изображение.покажи()

Изображението, което сте предали като параметър на отворен() метод ще се отвори, след като изпълните кода. Това е добра първа стъпка, като проверка на здравината, за да сте сигурни, че сте инсталирали успешно библиотеката на вашата система.

Модулът Image предоставя няколко други свойства, които можете да използвате, за да получите повече информация за изображението.

# Импортиране на библиотека
от PIL импортиране Изображение

# Зареждане на изображението
изображение = Изображение.open('образец-изображение.jpg')

# Отпечатва името на файла
печат ("Име на файл: ", изображение.име на файл)

# Отпечатва формата на файла
# Напр. PNG, JPG, GIF и др.
печат ("формат: ", image.format)

# Отпечатва режима на файла
# Напр.- RGB, RFBA, CMYK и др.
печат ("режим: ", image.mode)

# Отпечатва размера като кортеж по ширина и височина (в пиксели)
печат ("размер: ", размер на изображението)

# Отпечатва ширината на изображението (в пиксели)
печат ("ширина: ", image.width)

# Отпечатва височината на изображението (в пиксели)
печат ("Височина: ", image.height)

# Затваряне на изображението
изображение.близо()

Трябва да видите някои значими данни без грешки:

Как да конвертирате формат на изображение с помощта на Python

Можете просто да конвертирате файловия формат на изображение с помощта на запази () метод. Просто трябва да преминете новия име на файл и разширение като параметър към запази () метод. The запази () автоматично ще идентифицира разширението, което сте предали, и след това ще запази изображението в идентифицирания формат. Но преди да използвате запази () метод, може да се наложи да посочите режима на изображението (RGB, RGBA, CMYK, HSV и др.).

Според официалната документация на възглавницата, режимът на изображението е низ, който определя типа и дълбочината на пиксел в изображението. Библиотеката с възглавници поддържа 11 режима, включително следните стандартни режими:

RGB (3x8-битови пиксела, истински цвят)

RGBA (4x8-битови пиксела, истински цвят с маска за прозрачност)

CMYK (4x8-битови пиксела, разделяне на цветовете)

HSV (3x8-битови пиксела, оттенък, наситеност, стойностно цветово пространство)

Как да конвертирате изображение от PNG в JPG и JPG в PNG

Трябва да предадете низа име на файл.jpg като параметър на запази () метод за конвертиране на файлове с изображения във всеки формат (PNG, GIF, BMP, TIFF и др.) в JPG формат. Освен това трябва да посочите режима на изображението. Следният код преобразува изображение от PNG формат в JPG формат:

# Импортиране на библиотека
от PIL импортиране Изображение

# Зареждане на изображението
изображение = Изображение.open('sample-png-image.png')

# Задаване на RGB режим на изображението
изображение = изображение.конвертиране('RGB')

# Конвертиране на изображение от PNG в JPG формат
image.save("преобразувано-jpg-изображение.jpg")
печат ("Изображението бе преобразувано успешно!"

Ще загубите всякаква прозрачност на изображение, ако го конвертирате във формат JPG. Ако се опитате да запазите прозрачността с помощта на RGBA режим, Python ще изведе грешка.

Можете да конвертирате изображение във всеки формат в PNG формат, като използвате запази () метод. Просто трябва да предадете PNG изображението като параметър на запази () метод. Следният код преобразува изображение от JPG формат в PNG формат:

# Импортиране на библиотека
от PIL импортиране Изображение

# Зареждане на изображението
изображение = Изображение.open('образец-jpg-изображение.jpg')

# Конвертиране на изображение от JPG в PNG формат
image.save("преобразувано-png-изображение.png")
печат ("Изображението бе преобразувано успешно!")

Преобразуването на изображение в PNG запазва всякаква прозрачност. Например, ако конвертирате прозрачно GIF изображение в PNG изображение, резултатът пак ще бъде прозрачно изображение.

Как да конвертирате изображение във всеки друг формат с помощта на Python

Подобно на стъпките по-горе, можете да конвертирате изображение във всеки формат във всеки друг формат, като използвате запази () метод. Просто трябва да предоставите правилното разширение на изображението (.webp, .png, .bmp и т.н.) на запази () метод. Например следният код преобразува изображение от PNG във формат WebP:

# Импортиране на библиотека
от PIL импортиране Изображение

# Зареждане на изображението
изображение = Изображение.open('sample-transparent-png-image.png')

# Конвертиране на изображение от PNG във формат WEBP
image.save("преобразувано-webp-image.webp")
печат ("Изображението бе преобразувано успешно!")

Обработка на грешки при липсващи файлове с изображения

В случай, че кодът не може да намери входното изображение, той ще изведе грешка. Можете да се справите с това, като използвате FileNotFoundErrorИзключение на Python.

# Импортиране на библиотека
от PIL импортиране Изображение

опитвам:
# Зареждане на изображението
изображение = Изображение.open('грешно име-на-файл.jpg')

# Конвертиране на изображение от JPG в PNG формат
image.save("преобразувано-png-изображение.png")
печат ("Изображението бе преобразувано успешно!")

с изключение FileNotFoundError:
печат ("Не можех't намерите предоставеното изображение")

Преобразуване на всички изображения в директория в различен формат

Ако в една директория има няколко файла с изображения, които искате да конвертирате в различен формат, можете лесно да го направите само с няколко реда код в Python. Трябва да импортирате глоб библиотека за итерация през файловете в текущата директория или в дадена папка. Следният код преобразува всички JPG изображения в текущата директория в PNG формат:

от PIL импортиране Изображение
импортиране глоб

за файл в glob.glob("*.jpg"):
изображение = Image.open (файл)
image.save (file.replace("jpg", "png"))

Ако искате да конвертирате различен набор от файлове, променете параметъра на низа, който предавате на глоба () метод.

Създайте GUI с помощта на Python

Библиотеките на Python като Pillow улесняват разработването на инструменти за работа с изображения в Python. Можете да изпълнявате задачи бързо с интерфейс на командния ред, но GUI е от съществено значение за създаване на удобно за потребителя изживяване. Можете да създадете по-специализирани GUI приложения, като използвате рамки на Python като Tkinter и wxPython.