Padding je způsob, jak přidat další prostor kolem obrázku. V PyTorch modul „torchvision.transforms“ poskytuje transformaci/metodu „Pad()“ k vyplnění obrázku ze všech stran. Uživatelé mohou nastavit/použít různé výplně pro horní, spodní, levou a pravou stranu obrázku. Tato metoda vytvoří nový vycpaný obrázek zadané velikosti.
Tento článek demonstruje metodu vyložení konkrétního obrázku na všech stranách v PyTorch.
Jak vycpávat konkrétní obrázek na všech stranách v PyTorch?
Chcete-li v PyTorch umístit konkrétní obrázek na všechny strany, podívejte se na poskytnuté kroky:
Krok 1: Nahrajte obrázek do služby Google Colab
Nejprve otevřete Google Colab a klikněte na níže zvýrazněné ikony. Poté vyberte konkrétní obrázek z počítače a nahrajte jej:
Poté bude obrázek nahrán do služby Google Colab:
Zde jsme nahráli následující obrázek a na jeho všech stranách použijeme výplň:
Krok 2: Importujte nezbytnou knihovnu
Dále importujte požadované knihovny. Importovali jsme například následující knihovny:
dovozní pochodeňimportovat torchvision.transformuje tak jako transformuje
z importu PIL Obrázek
Tady:
-
- “ dovozní pochodeň ” importuje knihovnu PyTorch.
- “ import torchvision.transforms as transforms ” importuje transformační modul z torchvision, který se používá k předběžnému zpracování obrazových dat před jejich dodáním do neuronové sítě.
- “ z importu PIL Obrázek “ se používá k otevírání a ukládání různých formátů souborů obrázků:
Krok 3: Přečtěte si vstupní obrázek
Poté načtěte vstupní obrázek z počítače. Zde čteme „ my_img.jpg “ a jeho uložením do „ input_img 'proměnná:
input_img = Image.open ( 'my_img.jpg' )
Krok 4: Vypočítejte šířku a výšku vstupního obrázku
Dále vypočítejte/získejte šířku a výšku vstupního obrázku:
v , h = input_img.size
Krok 5: Definujte transformaci
Nyní definujte transformaci, která vyplní vstupní obrázek ze všech stran. Zde jsme specifikovali stranu výplně „ padesáti “, který použije stejné odsazení na všechny strany obrázku, tj. vlevo, vpravo, nahoře a dole:
transformovat = transformuje.Pad ( padesáti )
Krok 6: Aplikujte transformaci na obrázek
Poté aplikujte výše uvedenou transformaci na požadovaný vstupní obrázek a použijte na něj výplň:
padded_img = transformace ( input_img )
Krok 7: Změňte velikost obrázku na počáteční rozměr
Poté změňte velikost vycpaného obrázku na jeho skutečný rozměr:
padded_img = padded_img.resize ( ( v , h ) )
Krok 8: Zobrazte vycpaný obrázek
Nakonec si prohlédněte vycpaný obrázek zobrazením:
padded_img
Výše uvedený výstup ukazuje, že vstupní obrázek byl úspěšně osazen ze všech stran.
Podobně mohou uživatelé také určit jiné velikosti výplně v „ Podložka() ” způsob vyplnění obrázku různými velikostmi výplně. Zde specifikujeme levé/pravé polstrování „20“ a horní/dolní polstrování „60“:
transformovat = transformuje.Pad ( ( dvacet , 60 ) )
Tím se použije 20 jednotek odsazení na levou a pravou stranu obrázku a 60 jednotek odsazení na horní a spodní část obrázku:
Kromě toho mohou uživatelé také určit různé odsazení pro levou, horní, pravou a spodní stranu obrázku:
Tím se použije 20 jednotek výplně na levou stranu, 40 jednotek výplně nahoře, 60 jednotek výplně napravo a 80 jednotek výplně na spodní část obrázku:
Srovnání
Porovnání mezi původním obrázkem a vycpanými obrázky různých velikostí lze vidět níže:
Původní obrázek
|
Polstrovaný obrázek (50)
|
Polstrovaný obrázek (20, 60)
|
Polstrovaný obrázek (20, 40, 60, 80)
|
Poznámka : Zde můžete přistupovat k našemu Zápisníku Google Colab odkaz .
To bylo vše o vyplnění konkrétního obrázku na všech stranách v PyTorch.
Závěr
Chcete-li v PyTorch umístit konkrétní obrázek na všechny strany, nejprve požadovaný obrázek nahrajte do služby Google Colab. Poté importujte potřebné knihovny a přečtěte si vstupní obrázek. Poté určete šířku a výšku vstupního obrázku. Dále definujte transformaci pomocí metody „Pad()“ a aplikujte ji na požadovaný vstupní obrázek, aby se vyplnil na všech stranách. Nakonec změňte velikost vycpaného obrázku na původní rozměr a zobrazte jej. Tento článek demonstroval metodu vyložení konkrétního obrázku na všechny strany v PyTorch.