Python je známý svou všestranností. V Pythonu můžete vytvářet nástroje v reálném světě, které mohou zjednodušit a automatizovat určité úkoly.
Naučte se, jak vytvořit převodník typů obrázků pomocí několika jednoduchých řádků kódu Python. Ať už se jedná o jeden soubor obrázku nebo všechny soubory v adresáři, můžete snadno převádět mezi různými formáty.
Instalace požadovaných knihoven
Musíte nainstalovat Polštář Knihovna Python pro vytvoření konvertoru typu obrázků v Pythonu. Tato knihovna rozšiřuje možnosti zpracování obrázků vašeho Python interpretu. Pomocí několika modulů této knihovny můžete vytvořit obecný nástroj pro zpracování obrazu. Některé z nejužitečnějších jsou obraz, ImageFile, ImageFilter, a ImageStat moduly.
Spusťte v terminálu následující příkaz a nainstalujte knihovnu Pillow Python:
pip Nainstalujte polštář
Jakmile budete mít Pillow nainstalovaný ve vašem systému, jste připraveni pracovat s obrázky.
Načítání a zobrazení vlastností obrázku
Nejprve musíte importovat obraz modul z
PIL knihovnu pro nastavení kódu. Dále musíte použít Image.open() metoda pro načtení obrázku a jeho přiřazení k proměnné. Jakmile načtete obrázek, můžete jej zobrazit pomocí ukázat() metoda.Kód převodníku formátu obrazu je k dispozici v a úložiště GitHub a můžete jej používat zdarma na základě licence MIT.
z PIL import obraz
image = Image.open('ukázkový-obrázek.jpg')
obraz.ukázat()
Obrázek, který jste předali jako parametr do OTEVŘENO() metoda se otevře po spuštění kódu. Toto je dobrý první krok, jako kontrola zdravého rozumu, abyste se ujistili, že jste knihovnu úspěšně nainstalovali do vašeho systému.
Modul Obrázek poskytuje několik dalších vlastností, které můžete použít k získání dalších informací o obrázku.
# Import knihovny
z PIL import obraz# Načítání obrázku
image = Image.open('ukázkový-obrázek.jpg')# Vytiskne název souboru
tisk("Název souboru: ", image.filename)# Vytiskne formát souboru
# Např. - PNG, JPG, GIF atd.
tisk("Formát: ", image.format)# Vytiskne režim souboru
# Např. RGB, RFBA, CMYK atd.
tisk("režim: ", image.mode)# Vytiskne velikost jako n-tici šířky a výšky (v pixelech)
tisk("Velikost: ", velikost obrázku)# Vytiskne šířku obrázku (v pixelech)
tisk("Šířka: ", image.width)# Vytiskne výšku obrázku (v pixelech)
tisk("Výška: ", obrázek.výška)
# Zavření obrázku
obraz.zavřít()
Měli byste vidět některá smysluplná data bez chyb:
Jak převést formát obrázku pomocí Pythonu
Formát souboru obrázku můžete jednoduše převést pomocí Uložit() metoda. Musíte jen projít novým název souboru a rozšíření jako parametr k Uložit() metoda. The Uložit() metoda automaticky identifikuje příponu, kterou jste předali, a poté uloží obrázek v určeném formátu. Ale před použitím Uložit() možná budete muset určit režim obrazu (RGB, RGBA, CMYK, HSV atd.).
Podle oficiální dokumentaci polštáře, režim obrázku je řetězec, který definuje typ a hloubku pixelu v obrázku. Knihovna polštářů podporuje 11 režimů včetně následujících standardních režimů:
RGB (3x8bitové pixely, skutečné barvy)
RGBA (4x8bitové pixely, skutečné barvy s průhlednou maskou)
CMYK (4x8bitové pixely, separace barev)
HSV (3x8bitové pixely, odstín, sytost, barevný prostor hodnot)
Jak převést obrázek z PNG do JPG a JPG do PNG
Musíte předat řetězec název souboru.jpg jako parametr k Uložit() metoda pro převod obrazových souborů v libovolném formátu (PNG, GIF, BMP, TIFF atd.) na formát JPG. Také musíte zadat režim obrázku. Následující kód převede obrázek z Formát PNG do formátu JPG:
# Import knihovny
z PIL import obraz# Načítání obrázku
image = Image.open('sample-png-image.png')# Určení režimu RGB pro obrázek
obrázek = obrázek.převést('RGB')
# Převod obrázku z formátu PNG do formátu JPG
image.save("převedený-jpg-obrazek.jpg")
tisk("Obrázek byl úspěšně převeden!"
Pokud obrázek převedete do formátu JPG, ztratíte veškerou průhlednost obrázku. Pokud se pokusíte zachovat průhlednost pomocí RGBA režimu, Python vyvolá chybu.
Obrázek v libovolném formátu můžete převést do formátu PNG pomocí Uložit() metoda. Stačí předat obrázek PNG jako parametr do Uložit() metoda. Následující kód převede obrázek z formátu JPG do formátu PNG:
# Import knihovny
z PIL import obraz# Načítání obrázku
image = Image.open('ukázka-jpg-obrázek.jpg')
# Převod obrázku z formátu JPG do formátu PNG
image.save("convert-png-image.png")
tisk("Obrázek byl úspěšně převeden!")
Převedení obrázku do formátu PNG zachová veškerou průhlednost. Pokud například převedete průhledný obrázek GIF na obrázek PNG, výsledkem bude stále průhledný obrázek.
Jak převést obrázek do jakéhokoli jiného formátu pomocí Pythonu
Podobně jako ve výše uvedených krocích můžete převést obrázek v libovolném formátu do jakéhokoli jiného formátu pomocí Uložit() metoda. Stačí zadat správnou příponu obrázku (.webp, .png, .bmp atd.) Uložit() metoda. Například následující kód převede obrázek z PNG do formátu WebP:
# Import knihovny
z PIL import obraz# Načítání obrázku
image = Image.open('sample-transparent-png-image.png')
# Převod obrázku z PNG do formátu WEBP
image.save("convert-webp-image.webp")
tisk("Obrázek byl úspěšně převeden!")
Zpracování chyb pro chybějící obrazové soubory
V případě, že kód není schopen najít vstupní obrázek, vyvolá chybu. Můžete to zvládnout pomocí FileNotFoundErrorVýjimka v Pythonu.
# Import knihovny
z PIL import obrazSnaž se:
# Načítání obrázku
image = Image.open('špatný-název-souboru.jpg')# Převod obrázku z formátu JPG do formátu PNG
image.save("convert-png-image.png")
tisk("Obrázek byl úspěšně převeden!")
až na FileNotFoundError:
tisk("Nemohl't najít poskytnutý obrázek")
Převod všech obrázků v adresáři do jiného formátu
Pokud je v adresáři několik obrazových souborů, které chcete převést do jiného formátu, můžete to snadno udělat pomocí několika řádků kódu v Pythonu. Musíte importovat glob knihovny pro iteraci souborů v aktuálním adresáři nebo v dané složce. Následující kód převede všechny obrázky JPG v aktuálním adresáři do formátu PNG:
z PIL import obraz
import glob
pro soubor v glob.glob("*.jpg"):
image = Image.open (soubor)
image.save (file.replace("jpg", "png"))
Pokud chcete převést jinou sadu souborů, změňte parametr řetězce, který předáte do souboru glob() metoda.
Sestavte GUI pomocí Pythonu
Knihovny Pythonu jako Pillow usnadňují vývoj nástrojů pro práci s obrázky v Pythonu. Pomocí rozhraní příkazového řádku můžete provádět úkoly rychle, ale pro vytvoření uživatelsky přívětivého prostředí je nezbytné grafické uživatelské rozhraní. Specializovanější GUI aplikace můžete vytvářet pomocí Python frameworků jako Tkinter a wxPython.