Pytonorm

Bildbehandling i Python med Pillow

Bildbehandling i Python med Pillow

Bilder måste användas i många applikationer för olika ändamål. En av de viktigaste delarna av webbapplikationer är bilden. Många bibliotek finns i Python för bildbehandlingsuppgifter som PIL, Pillow, OpenCV, etc. PIL är ett populärt bildbehandlingsbibliotek, men det gör inte Python 3. Pillow implementeras för Python 3 för att göra en liknande PIL-uppgift och kallas PIL-gaffeln. Pillow stöder flera bildformat och olika typer av bildbehandlingsuppgifter som att ändra storlek, rotera, beskära, lägga till bildtext etc., kan göras enkelt med hjälp av detta bibliotek. Pillow-biblioteket kan installeras och användas för olika bildbehandlingsuppgifter som visas i denna handledning.

Installerar bildbehandlingsmodul

Bildbehandlingsmodul kräver om du vill skapa tärningssimulatorn med GUI. Kör följande kommandon från terminalen för att uppdatera pipen och installera kuddmodulen.

$ python3 -m pip-installation - uppgradera pip
$ python3 -m pipinstall - uppgradera kudde

Exempel 1: Visa en bild

Hur en bild kan visas med pythonscript har visats i följande skript. Bildmodulen har importerats för att använda öppna() funktion för att öppna bildfilen. Nästa, den show() funktionen kallas med hjälp av ett bildobjekt för att visa bilden.

# Importera bildmodul från PIL
från PIL-importbild
# Öppna bildfilen
img = Bild.öppen ('fågel1.png ')
# Visa bilden
img.show()

Produktion

Bilden visas i en dialogruta om bildfilen finns på den aktuella platsen.

Exempel 2: Visa bilden med olika attribut

Följande skript visar bilden i en dialogruta och skriver ut olika typer av bildattribut. de os modulen har importerats med Bild modul i detta skript för att kontrollera om bildfilen finns. Om filen finns öppnas bildfilen och visas i dialogrutan. Därefter skrivs bildstorleken och bildformatet ut med storlek och formatera bildobjektets egenskaper.

# Importera bildmodul från PIL
från PIL-importbild
# Import os-modul
importera os
# Ställ in bildens filnamn
imageName = 'bird2.png '
om os.väg.existerar (imageName):
# Öppna bildfilen
img = Bild.öppen ('fågel2.png ')
# Visa bilden
img.show()
# Skriv ut bildens bredd och höjd i pixlar
print ('Bildens storlek är: '.format (bild.storlek))
# Skriv ut formatet på bildfilen.
print ('Bildens format är: '.format (bild.formatera))
annan:
# Skriv ut felmeddelande
skriv ut ('Bildfilen finns inte.')

Produktion

Bilden visas i en dialogruta om bildfilen finns på den aktuella platsen. Följande utdata visar bildens storlek och format. Bildens bredd är 286 pixlar och bildens höjd är 176 pixlar. Bildens format är JPEG.

Exempel 3: Skapa en ny bild genom att ändra bildens storlek och format

Följande skript visar originalbilden och en ny bild skapas genom att ändra storlek och format på originalbilden. Manuset från föregående exempel har använts för att visa bilden i en dialog låda. ändra storlek () metoden används med de nya värdena för bredd och höjd för att ställa in storleken på den nya bild. spara() metoden används med namnet på den nya bilden för att skapa den nya bilden. Storleken på både original- och nya bilder skrivs ut senare.

# Importera bildmodul från PIL
från PIL-importbild
# Import os-modul
importera os
# Ställ in bildens filnamn
imageName = 'bird2.png '
# Öppna en PNG-fil
om os.väg.existerar (imageName):
# Öppna bildfilen
img = Bild.öppen ('fågel2.png ')
# Visa bilden
img.show()
# Skriv ut bredden och höjden på originalbilden i pixlar
print ('Storleken på originalbilden är: '.format (bild.storlek))
# Ändra storlek på bilden
resized_img = img.ändra storlek ((400, 300))
# Spara den ändrade bilden med nytt namn
ändra storlek.spara ('newImg.jpg ')
# Skriv ut bredden och höjden på den nya bilden i pixlar
print ('Storleken på den nya bilden är: '.format (resized_img.storlek))
annan:
# Skriv ut felmeddelande
skriv ut ('Bildfilen finns inte.')

Produktion

Bilden visas i en dialogruta om bildfilen finns på den aktuella platsen. Följande utdata visar storleken på både original- och nya bilder. Originalbildens bredd är 278 pixlar och originalbildens höjd är 182 pixlar. Bredden på den nya bilden är 400 pixlar och höjden på den nya bilden är 300 pixlar.

Exempel 4: Skapa en beskuren bild av en bild

Följande skript visar den beskurna bilden av en befintlig bild. beskära() metoden används för att beskära bilden baserat på de angivna rutvärdena. Nästa, den spara() metoden används för att skapa den nya beskurna bilden. Den nya bilden visas i en dialogruta som tidigare exempel.

# Importera bildmodul från PIL
från PIL-importbild
# Import os-modul
importera os
# Ställ in bildens filnamn
imageName = 'bird2.png '
# Öppna PNG-filen
om os.väg.existerar (imageName):
# Öppna bildfilen
img = Bild.öppen ('fågel2.png ')
# Beskär bilden
cropped_img = img.gröda ((100, 150, 300, 450))
# Spara den beskurna bilden i en annan fil
cropped_img.spara ('cropped_img.jpg ')
# Öppna den beskurna bilden
img2 = Bild.öppna ('cropped_img.jpg ')
# Visa den beskurna bilden
img2.show()
# Skriv ut bredden och höjden på den beskurna bilden i pixlar
print ('Storleken på den beskurna bilden är: '.format (bild2.storlek))
annan:
# Skriv ut felmeddelande
skriv ut ('Bildfil finns inte.')

Produktion

Följande beskurna bild visas i en dialogruta om originalbildfilen finns på den aktuella platsen.

Exempel 5: Skapa en miniatyr av en fil

Följande skript skapar en miniatyr av en bild. Metoden thumbnail () har använts i skriptet för att skapa miniatyren av en bild. Den skapade miniatyrbilden visas i en dialogruta senare.

# Importera bildmodul från PIL
från PIL-importbild
# Öppna bildfilen
img = Bild.öppen ('fågel1.png ')
# Ställ in miniatyrvärdena
img.miniatyrbild ((200, 200))
# Spara miniatyrbilden i en bildfil
img.spara ('miniatyrbild.png ')
# Öppna miniatyrfilen
thumbnail_img = Bild.öppna ('miniatyrbild.png ')
# Visa miniatyrbilden
thumbnail_img.show()

Produktion

Följande miniatyrbild visas i en dialogruta om originalbildfilen finns på den aktuella platsen.

Slutsats

Bildmodulen innehåller många funktioner för att utföra olika typer av bildrelaterade operationer. Användningen av vissa mest använda funktioner har förklarats i denna handledning med hjälp av flera exempel.

Mus Hur man använder Xdotool för att stimulera musklick och tangenttryckningar i Linux
Hur man använder Xdotool för att stimulera musklick och tangenttryckningar i Linux
Xdotool är ett ledigt verktyg för öppen källkod för simulering av musklick och tangenttryckningar. Den här artikeln kommer att täcka en kort guide om ...
Mus Topp 5 Ergonomiska datormusprodukter för Linux
Topp 5 Ergonomiska datormusprodukter för Linux
Ger långvarig datoranvändning smärta i handleden eller fingrarna? Lider du av styva leder och måste ständigt skaka hand? Känner du en brännande smärta...
Mus Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
Så här ändrar du inställningar för mus och pekplatta med Xinput i Linux
De flesta Linux-distributioner levereras med "libinput" -bibliotek som standard för att hantera inmatningshändelser i ett system. Den kan bearbeta inm...