Výuka IT

Procvičování: Práce s obrázky

Nyní si můžete sami vyzkoušet práci s obrázky. Vyberte si několik obrázků a proveďte následující úkoly.

Úkol 1: Převeďte obrázek na černobílý

Načtěte libovolný barevný obrázek (např. "pes.png"). Převeďte jej na černobílý, uložte do nového souboru (např. "pes_cernobily.png") a zobrazte jej.

Řešení

from PIL import Image

# Načtení obrázku
o = Image.open(input("Zadejte název barevného obrázku (např. pes.png): "))
# Převedení na černobílý
bw = o.convert('L')
# Uložení a zobrazení
vystup = input("Zadejte název pro černobílý obrázek (např. pes_cernobily.png): ")
bw.save(vystup)
bw.show()

Úkol 2: Miniatura

Načtěte libovolný obrázek. Zeptejte se uživatele na velikost čtverce (např. "Zadejte velikost, např. 100 pro 100x100 pixelů"). Zmenšete obrázek na tuto velikost, uložte jej (např. jako "miniatura.png") a zobrazte jej.

Řešení

from PIL import Image

# Načtení obrázku
img = Image.open(input("Zadejte název obrázku: "))
# Získání velikosti od uživatele
size = int(input("Zadejte velikost čtverce (např. 100): "))
# Vytvoření miniatury (zachování poměru stran)
mini = img.copy()
mini.thumbnail((size, size))
# Uložení a zobrazení
out = input("Zadejte název souboru pro miniaturu (např. miniatura.png): ")
mini.save(out)
mini.show()

Úkol 3: Editor fotografií

Vytvořte soubor fotoeditor.py. V tomto souboru:

Řešení

from PIL import Image

# Načtení souboru
ojmeno = input("Zadejte název fotky: ")
img = Image.open(ojmeno)
# Volba úpravy
utype = input("Vyberte typ úpravy (cernobily, zmenseny, otoceny): ")

if utype == 'cernobily':
    upr = img.convert('L')
elif utype == 'zmenseny':
    w = int(input("Zadejte šířku: "))
    h = int(input("Zadejte výšku: "))
    upr = img.resize((w, h))
elif utype == 'otoceny':
    deg = float(input("O kolik stupňů otočit? "))
    upr = img.rotate(deg, expand=True)
else:
    print("Neznámý typ úpravy, končím.")
    exit()

# Uložení a zobrazení
outname = input("Zadejte nový název souboru: ")
upr.save(outname)
upr.show()