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 PILfra 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 PILfra 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 PILfra 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 PILfra 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 PILfra 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.