Python

Bildebehandling i Python ved bruk av Pillow

Bildebehandling i Python ved bruk av Pillow

Bilder kreves å brukes i mange applikasjoner for forskjellige formål. En av de viktigste delene av webapplikasjoner er bildet. Det finnes mange biblioteker i Python for bildebehandlingsoppgaver som PIL, Pillow, OpenCV, etc. PIL er et populært bildebehandlingsbibliotek, men det gjør ikke Python 3. Pillow er implementert for at Python 3 skal gjøre en lignende PIL-oppgave og kalles gaffelen til PIL. Pillow støtter flere bildeformater og forskjellige typer bildebehandlingsoppgaver som å endre størrelse, rotere, beskjære, legge til bildetekst osv., kan gjøres enkelt ved å bruke dette biblioteket. Pillow-biblioteket kan installeres og brukes til forskjellige bildebehandlingsoppgaver som vises i denne opplæringen.

Installere bildebehandlingsmodul

Bildebehandlingsmodul vil kreve hvis du vil lage terningkast-simulatoren med GUI. Kjør følgende kommandoer fra terminalen for å oppdatere pipen og installere Pillow-modulen.

$ python3 -m pip install - oppgrader pip
$ python3 -m pip install - oppgrader pute

Eksempel 1: Vis et bilde

Hvordan et bilde kan vises ved hjelp av python-skript har vist i følgende skript. Bildemodulen er importert for å bruke åpen() funksjon for å åpne bildefilen. Neste, den vise fram() funksjon kalles ved å bruke et bildeobjekt til å vise bildet.

# Importer bildemodul fra PIL
fra PIL-importbilde
# Åpne bildefilen
img = Bilde.åpen ('bird1.png ')
# Vis bildet
img.vise fram()

Produksjon

Bildet vises i en dialogboks hvis bildefilen finnes på gjeldende plassering.

Eksempel 2: Vis bildet med forskjellige attributter

Følgende skript vil vise bildet i en dialogboks og skrive ut forskjellige typer bildeattributter. de os modulen er importert med Bilde modul i dette skriptet for å sjekke om bildefilen eksisterer. Hvis filen eksisterer, åpnes bildefilen og vises i dialogboksen. Deretter vil bildestørrelsen og bildeformatet skrives ut med størrelse og format egenskapene til bildeobjektet.

# Importer bildemodul fra PIL
fra PIL-importbilde
# Importer os-modul
importer os
# Angi filens filnavn
imageName = 'bird2.png '
hvis os.sti.eksisterer (imageName):
# Åpne bildefilen
img = Bilde.åpen ('bird2.png ')
# Vis bildet
img.vise fram()
# Skriv ut bredden og høyden på bildet i piksler
print ('Størrelsen på bildet er: '.format (bilde.størrelse))
# Skriv ut formatet på bildefilen.
print ('Formatet på bildet er: '.format (bilde.format))
ellers:
# Skriv ut feilmelding
print ('Bildefilen eksisterer ikke.')

Produksjon

Bildet vises i en dialogboks hvis bildefilen finnes på gjeldende plassering. Følgende utdata viser størrelsen og formatet på bildet. Bildets bredde er 286 piksler, og høyden på bildet er 176 piksler. Formatet på bildet er JPEG.

Eksempel 3: Lag et nytt bilde ved å endre størrelse og format på bildet

Følgende skript viser det opprinnelige bildet, og et nytt bilde blir opprettet ved å endre størrelsen og formatet på det opprinnelige bildet. Skriptet fra forrige eksempel har brukt til å vise bildet i en dialog eske. endre størrelse () metoden brukes med de nye verdiene for bredde og høyde for å stille inn størrelsen på den nye bilde. lagre() metoden brukes med navnet på det nye bildet for å lage det nye bildet. Størrelsen på både originale og nye bilder skrives ut senere.

# Importer bildemodul fra PIL
fra PIL-importbilde
# Importer os-modul
importer os
# Angi bildens filnavn
imageName = 'bird2.png '
# Åpne en PNG-fil
hvis os.sti.eksisterer (imageName):
# Åpne bildefilen
img = Bilde.åpen ('bird2.png ')
# Vis bildet
img.vise fram()
# Skriv ut bredden og høyden på det originale bildet i piksler
print ('Størrelsen på det originale bildet er: '.format (bilde.størrelse))
# Endre størrelsen på bildet
resized_img = img.endre størrelse ((400, 300))
# Lagre det endrede bildet med nytt navn
resized_img.lagre ('newImg.jpg ')
# Skriv ut bredden og høyden på det nye bildet i piksler
print ('Størrelsen på det nye bildet er: '.format (resized_img.størrelse))
ellers:
# Skriv ut feilmelding
print ('Bildefilen eksisterer ikke.')

Produksjon

Bildet vises i en dialogboks hvis bildefilen finnes på gjeldende plassering. Følgende utdata viser størrelsen på både originale og nye bilder. Bredden på det opprinnelige bildet er 278 piksler, og høyden på det opprinnelige bildet er 182 piksler. Bredden på det nye bildet er 400 piksler, og høyden på det nye bildet er 300 piksler.

Eksempel 4: Lag et beskåret bilde av et bilde

Følgende skript viser beskjæringsbildet til et eksisterende bilde. avling() metoden brukes til å beskjære bildet basert på gitte boksverdier. Neste, den lagre() metoden brukes til å lage det nye beskjærede bildet. Det nye bildet vil vises i en dialogboks som de foregående eksemplene.

# Importer bildemodul fra PIL
fra PIL-importbilde
# Importer os-modul
importer os
# Angi filens filnavn
imageName = 'bird2.png '
# Åpne PNG-filen
hvis os.sti.eksisterer (imageName):
# Åpne bildefilen
img = Bilde.åpen ('bird2.png ')
# Beskjær bildet
cropped_img = img.avling ((100, 150, 300, 450))
# Lagre det beskårne bildet i en annen fil
cropped_img.lagre ('cropped_img.jpg ')
# Åpne det beskårne bildet
img2 = Bilde.åpen ('cropped_img.jpg ')
# Vis det beskårne bildet
img2.vise fram()
# Skriv ut bredden og høyden på det beskårne bildet i piksler
print ('Størrelsen på det beskårne bildet er: '.format (bild2.størrelse))
ellers:
# Skriv ut feilmelding
print ('Bildefilen eksisterer ikke.')

Produksjon

Følgende beskjærte bilde vises i en dialogboks hvis den opprinnelige bildefilen finnes på gjeldende plassering.

Eksempel 5: Lag et miniatyrbilde av en fil

Følgende skript vil opprette et miniatyrbilde av et bilde. Miniatyrbildemetoden () har blitt brukt i skriptet for å lage miniatyrbildet til et bilde. Det opprettede miniatyrbildet vises i en dialogboks senere.

# Importer bildemodul fra PIL
fra PIL-importbilde
# Åpne bildefilen
img = Bilde.åpen ('bird1.png ')
# Still inn miniatyrverdiene
img.miniatyrbilde ((200, 200))
# Lagre miniatyrbildet i en bildefil
img.lagre ('miniatyrbilde.png ')
# Åpne miniatyrfilen
thumbnail_img = Bilde.åpne ('miniatyrbilde.png ')
# Vis miniatyrbildet
thumbnail_img.vise fram()

Produksjon

Følgende miniatyrbilde vises i en dialogboks hvis den originale bildefilen finnes på gjeldende plassering.

Konklusjon

Bildemodulen inneholder mange funksjoner for å utføre forskjellige typer bilderelaterte operasjoner. Bruken av noen mest brukte funksjoner er forklart i denne veiledningen ved å bruke flere eksempler.

Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...