Hoe kan ik een specifieke afbeelding aan alle kanten opvullen in PyTorch?

Hoe Kan Ik Een Specifieke Afbeelding Aan Alle Kanten Opvullen In Pytorch



Opvulling is een manier om extra ruimte rond een afbeelding toe te voegen. In PyTorch biedt de module “torchvision.transforms” een “Pad()” transformatie/methode om een ​​afbeelding aan alle kanten op te vullen. Gebruikers kunnen verschillende opvullingen instellen/toepassen voor de boven-, onder-, linker- en rechterkant van de afbeelding. Deze methode produceert een nieuwe opgevulde afbeelding van een opgegeven grootte.

Dit artikel demonstreert de methode om een ​​specifieke afbeelding aan alle kanten in PyTorch op te vullen.







Hoe kan ik een specifieke afbeelding aan alle kanten opvullen in PyTorch?

Om een ​​specifieke afbeelding aan alle kanten in PyTorch op te vullen, bekijk je de gegeven stappen:



Stap 1: Upload een afbeelding naar Google Colab



Open eerst Google Colab en klik op de hieronder gemarkeerde pictogrammen. Kies vervolgens de specifieke afbeelding op de computer en upload deze:






Wanneer u dit doet, wordt de afbeelding geüpload naar Google Colab:


Hier hebben we de volgende afbeelding geüpload en passen we op alle zijden opvulling toe:




Stap 2: Importeer de benodigde bibliotheek

Importeer vervolgens de vereiste bibliotheken. We hebben bijvoorbeeld de volgende bibliotheken geïmporteerd:

fakkel importeren
importeer torchvision.transforms als transformeert
van PIL-importafbeelding


Hier:

    • fakkel importeren ” importeert de PyTorch-bibliotheek.
    • importeer torchvision.transforms als transformaties ” importeert de transformatiemodule van torchvision die wordt gebruikt om beeldgegevens voor te verwerken voordat deze in een neuraal netwerk worden ingevoerd.
    • van PIL-importafbeelding ” wordt gebruikt om verschillende afbeeldingsbestandsformaten te openen en op te slaan:


Stap 3: Lees de invoerafbeelding

Lees daarna het invoerbeeld van de computer. Hier lezen we de “ mijn_img.jpg ' en sla het op in de ' invoer_img ”variabele:

input_img = Afbeelding.open ( 'mijn_img.jpg' )



Stap 4: Bereken de breedte en hoogte van de invoerafbeelding

Bereken vervolgens de breedte en hoogte van de invoerafbeelding:

In , h = invoer_img.grootte



Stap 5: Definieer een transformatie

Definieer nu een transformatie om de invoerafbeelding aan alle kanten op te vullen. Hier hebben we de opvulzijde gespecificeerd “ vijftig ' waarmee dezelfde opvulling wordt toegepast op alle zijden van de afbeelding, dat wil zeggen links, rechts, boven en onder:

transformeren = transformeert.Pad ( vijftig )



Stap 6: Pas transformatie toe op afbeelding

Pas vervolgens de bovenstaande transformatie toe op de gewenste invoerafbeelding om er opvulling op toe te passen:

opgevuld_img = transformeren ( invoer_img )



Stap 7: Pas het formaat van de afbeelding aan naar de oorspronkelijke afmeting

Wijzig daarna het formaat van de opgevulde afbeelding naar de werkelijke afmetingen:

opgevuld_img = opgevuld_img.resize ( ( In , H ) )



Stap 8: Geef de opgevulde afbeelding weer

Bekijk ten slotte de opgevulde afbeelding door deze weer te geven:

opgevulde_img



Uit de bovenstaande uitvoer blijkt dat het invoerbeeld aan alle kanten met succes is opgevuld.

Op dezelfde manier kunnen gebruikers ook andere opvulgroottes opgeven in de “ Pad() ”-methode om de afbeelding op te vullen met verschillende opvulgroottes. Hier specificeren we de linker/rechter opvulling “20” en de boven/onder opvulling “60”:

transformeren = transformeert.Pad ( ( twintig , 60 ) )



Hierdoor worden 20 opvullingseenheden toegepast op de linker- en rechterkant van de afbeelding en 60 opvullingseenheden op de boven- en onderkant van de afbeelding:


Bovendien kunnen gebruikers ook verschillende opvullingen opgeven voor de linker-, boven-, rechter- en onderkant van de afbeelding:

transformeren = transformeert.Pad ( ( twintig , 40 , 60 , 80 ) )



Hierdoor worden 20 opvullingseenheden aan de linkerkant, 40 opvullingseenheden bovenaan, 60 opvullingseenheden aan de rechterkant en 80 opvullingseenheden aan de onderkant van de afbeelding toegepast:

Vergelijking

De vergelijking tussen de originele afbeelding en opgevulde afbeeldingen met verschillende formaten ziet u hieronder:

Originele afbeelding

Gewatteerde afbeelding (50)

Opgevulde afbeelding (20, 60)

Opgevulde afbeelding (20, 40, 60, 80)

Opmerking : Hier heeft u toegang tot ons Google Colab Notebook koppeling .

Dat ging allemaal over het aan alle kanten opvullen van een specifieke afbeelding in PyTorch.

Conclusie

Om een ​​specifieke afbeelding aan alle kanten in PyTorch op te vullen, uploadt u eerst de gewenste afbeelding naar Google Colab. Importeer vervolgens de benodigde bibliotheken en lees de invoerafbeelding. Bepaal daarna de breedte en hoogte van de invoerafbeelding. Definieer vervolgens een transformatie met behulp van de “Pad()”-methode en pas deze toe op de gewenste invoerafbeelding om deze aan alle kanten op te vullen. Wijzig ten slotte het formaat van de opgevulde afbeelding naar de oorspronkelijke afmetingen en geef deze weer. Dit artikel heeft de methode gedemonstreerd om een ​​specifiek beeld aan alle kanten in PyTorch op te vullen.