Python je známy svojou všestrannosťou. V Pythone môžete vytvárať nástroje v reálnom svete, ktoré môžu zjednodušiť a automatizovať určité úlohy.

Naučte sa, ako vytvoriť prevodník typov obrázkov pomocou niekoľkých jednoduchých riadkov kódu Python. Či už ide o jeden súbor obrázka alebo všetky súbory v adresári, môžete jednoducho konvertovať medzi rôznymi formátmi.

Inštalácia požadovaných knižníc

Musíte nainštalovať Vankúš Knižnica Python na vytvorenie konvertora obrázkových typov v Pythone. Táto knižnica rozširuje možnosti spracovania obrázkov vášho tlmočníka Pythonu. Pomocou niekoľkých modulov tejto knižnice môžete vytvoriť všeobecný nástroj na spracovanie obrazu. Niektoré z najužitočnejších sú Obrázok, ImageFile, ImageFilter, a ImageStat modulov.

Ak chcete nainštalovať knižnicu Pillow Python, spustite v termináli nasledujúci príkaz:

pip Inštalácia vankúš

Akonáhle máte Pillow nainštalovaný vo vašom systéme, ste pripravení pracovať s obrázkami.

Načítanie a zobrazenie vlastností obrázka

Najprv musíte importovať

instagram viewer
Obrázok modul z PIL knižnicu na nastavenie kódu. Ďalej musíte použiť Image.open() metóda na načítanie obrázka a jeho priradenie k premennej. Po načítaní obrázka ho môžete zobraziť pomocou šou() metóda.

Kód prevodníka obrázkového formátu je dostupný v a úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.

od PIL importovať Obrázok
image = Image.open('ukážkový-obrázok.jpg')
obrázok.šou()

Obrázok, ktorý ste odovzdali ako parameter do OTVORENÉ() metóda sa otvorí po spustení kódu. Toto je dobrý prvý krok, ako kontrola zdravého rozumu, aby ste sa uistili, že ste úspešne nainštalovali knižnicu do vášho systému.

Modul Obrázok poskytuje niekoľko ďalších vlastností, ktoré môžete použiť na získanie ďalších informácií o obrázku.

# Importovanie knižnice
od PIL importovať Obrázok

# Načítava sa obrázok
image = Image.open('ukážkový-obrázok.jpg')

# Vytlačí názov súboru
vytlačiť ("Názov súboru: ", image.filename)

# Vytlačí formát súboru
# Napr. - PNG, JPG, GIF atď.
vytlačiť ("Formát: ", image.format)

# Vytlačí režim súboru
# Napr. RGB, RFBA, CMYK atď.
vytlačiť ("režim: ", image.mode)

# Vytlačí veľkosť ako n-ticu šírky a výšky (v pixeloch)
vytlačiť ("Veľkosť: ", veľkosť obrazu)

# Vytlačí šírku obrázka (v pixeloch)
vytlačiť ("šírka: ", image.width)

# Vytlačí výšku obrázka (v pixeloch)
vytlačiť ("výška: ", image.height)

# Zatvorenie obrázka
obrázok.Zavrieť()

Mali by ste vidieť nejaké zmysluplné údaje bez chýb:

Ako previesť formát obrázka pomocou Pythonu

Môžete jednoducho previesť formát súboru obrázka pomocou uložiť () metóda. Musíte len prejsť novým názov súboru a rozšírenie ako parameter k uložiť () metóda. The uložiť () automaticky identifikuje rozšírenie, ktoré ste prešli, a potom uloží obrázok v identifikovanom formáte. Ale pred použitím uložiť () možno budete musieť špecifikovať režim obrazu (RGB, RGBA, CMYK, HSV atď.).

Podľa oficiálna dokumentácia vankúša, režim obrázku je reťazec, ktorý definuje typ a hĺbku pixelu v obrázku. Knižnica vankúšov podporuje 11 režimov vrátane nasledujúcich štandardných režimov:

RGB (3x8-bitové pixely, skutočné farby)

RGBA (4x8-bitové pixely, skutočné farby s maskou priehľadnosti)

CMYK (4x8-bitové pixely, separácia farieb)

HSV (3x8-bitové pixely, odtieň, sýtosť, farebný priestor hodnôt)

Ako previesť obrázok z PNG do JPG a JPG do PNG

Musíte prejsť reťazec názov súboru.jpg ako parameter k uložiť () metóda na konverziu obrazových súborov v ľubovoľnom formát (PNG, GIF, BMP, TIFF atď.) do formátu JPG. Musíte tiež zadať režim obrázka. Nasledujúci kód konvertuje obrázok z Formát PNG do formátu JPG:

# Importovanie knižnice
od PIL importovať Obrázok

# Načítava sa obrázok
image = Image.open('sample-png-image.png')

# Určenie režimu RGB pre obrázok
image = image.convert('RGB')

# Prevod obrázka z formátu PNG do formátu JPG
image.save("konvertovaný-jpg-obrázok.jpg")
vytlačiť ("Obrázok bol úspešne prevedený!"

Ak obrázok prevediete do formátu JPG, stratíte akúkoľvek priehľadnosť obrázka. Ak sa pokúsite zachovať priehľadnosť pomocou RGBA režime, Python vyhodí chybu.

Môžete previesť obrázok v akomkoľvek formáte do formátu PNG pomocou uložiť () metóda. Stačí odovzdať obrázok PNG ako parameter do uložiť () metóda. Nasledujúci kód konvertuje obrázok z formátu JPG do formátu PNG:

# Importovanie knižnice
od PIL importovať Obrázok

# Načítava sa obrázok
image = Image.open('ukážka-jpg-obrázok.jpg')

# Prevod obrázka z formátu JPG do formátu PNG
image.save("convert-png-image.png")
vytlačiť ("Obrázok bol úspešne prevedený!")

Konverzia obrázka do formátu PNG zachová všetku priehľadnosť. Ak napríklad prevediete priehľadný obrázok GIF na obrázok PNG, výsledkom bude stále priehľadný obrázok.

Ako previesť obrázok do akéhokoľvek iného formátu pomocou Pythonu

Podobne ako vo vyššie uvedených krokoch môžete previesť obrázok v akomkoľvek formáte do akéhokoľvek iného formátu pomocou uložiť () metóda. Stačí zadať správnu príponu obrázka (.webp, .png, .bmp atď.) uložiť () metóda. Napríklad nasledujúci kód konvertuje obrázok z formátu PNG do formátu WebP:

# Importovanie knižnice
od PIL importovať Obrázok

# Načítava sa obrázok
image = Image.open('ukážka-transparentný-png-image.png')

# Konverzia obrázka z formátu PNG do formátu WEBP
image.save("convert-webp-image.webp")
vytlačiť ("Obrázok bol úspešne prevedený!")

Spracovanie chýb pre chýbajúce obrazové súbory

V prípade, že kód nedokáže nájsť vstupný obrázok, vyvolá chybu. Môžete to zvládnuť pomocou FileNotFoundErrorVýnimka pre Python.

# Importovanie knižnice
od PIL importovať Obrázok

skúste:
# Načítava sa obrázok
image = Image.open('nesprávny-názov-súboru.jpg')

# Prevod obrázka z formátu JPG do formátu PNG
image.save("convert-png-image.png")
vytlačiť ("Obrázok bol úspešne prevedený!")

okrem FileNotFoundError:
vytlačiť ("Mohol'nájdite poskytnutý obrázok")

Prevod všetkých obrázkov v adresári do iného formátu

Ak je v adresári niekoľko obrázkových súborov, ktoré chcete previesť do iného formátu, môžete to jednoducho urobiť pomocou niekoľkých riadkov kódu v Pythone. Musíte importovať glob knižnicu na iteráciu cez súbory v aktuálnom adresári alebo v danom priečinku. Nasledujúci kód skonvertuje všetky obrázky JPG v aktuálnom adresári do formátu PNG:

od PIL importovať Obrázok
importovať glob

pre súbor v glob.glob("*.jpg"):
image = Image.open (súbor)
image.save (file.replace("jpg", "png"))

Ak chcete konvertovať inú množinu súborov, zmeňte parameter reťazca, ktorý odovzdávate do súboru glob() metóda.

Vytvorte GUI pomocou Pythonu

Knižnice Pythonu ako Pillow uľahčujú vývoj nástrojov na prácu s obrázkami v Pythone. Úlohy môžete vykonávať rýchlo pomocou rozhrania príkazového riadka, ale GUI je nevyhnutné na vytvorenie užívateľsky prívetivého zážitku. Špecializovanejšie GUI aplikácie môžete vytvárať pomocou rámcov Pythonu, ako sú Tkinter a wxPython.