logo

Lavorare con le immagini in Python

PIL è la libreria di imaging Python che fornisce all'interprete Python funzionalità di modifica delle immagini. È stato sviluppato da Fredrik Lundh e molti altri contributori. Pillow è il fork PIL amichevole e una libreria facile da usare sviluppata da Alex Clark e altri contributori. Lavoreremo con Pillow.

matematica rotonda java

Installazione:

  • Linux: Sul terminale Linux digitare quanto segue:
    pip install Pillow
    Installazione pip tramite terminale:
    sudo apt-get update  
    sudo apt-get install python-pip
  • Finestre: Scaricamento il pacchetto di cuscini appropriato in base alla tua versione Python. Assicurati di scaricare in base alla versione Python che hai.

Lavoreremo qui con il modulo Immagine che fornisce una classe con lo stesso nome e fornisce molte funzioni per lavorare sulle nostre immagini. Per importare il modulo Immagine, il nostro codice dovrebbe iniziare con la seguente riga:



qual è il file system di linux
 from PIL import Image

Operazioni con le immagini:

  • Apri un'immagine particolare da un percorso: Python
    #img = Image.open(path)  # On successful execution of this statement # an object of Image type is returned and stored in img variable) try: img = Image.open(path) except IOError: pass # Use the above statement within try block as it can  # raise an IOError if file cannot be found  # or image cannot be opened. 
  • Recupera la dimensione dell'immagine : Le istanze della classe Image create hanno molti attributi, uno dei suoi attributi utili è la dimensione. Python
    from PIL import Image filename = 'image.webp' with Image.open(filename) as image: width height = image.size #Image.size gives a 2-tuple and the width height can be obtained 
    Alcuni altri attributi sono: Image.width Image.height Image.format Image.info ecc.
  • Salva modifiche nell'immagine: Per salvare eventuali modifiche apportate al file immagine dobbiamo fornire il percorso e il formato dell'immagine. Python
    img.save(path format) # format is optional if no format is specified  #it is determined from the filename extension 
  • Rotazione di un'immagine: La rotazione dell'immagine richiede l'angolo come parametro per ruotare l'immagine. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #Angle given img = img.rotate(180) #Saved in the same relative location img.save('rotated_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    ruotare un'immagine in Python' src='//techcodeview.com/img/python/71/working-with-images-in-python.webp' title=Nota: è disponibile un flag di espansione opzionale come uno degli argomenti del metodo di rotazione che, se impostato su true, espande l'immagine di output per renderla sufficientemente grande da contenere l'immagine completamente ruotata. Come visto nello snippet di codice sopra, ho utilizzato un percorso relativo in cui la mia immagine si trova nella stessa directory del mio file di codice Python, è possibile utilizzare anche un percorso assoluto.
  • Ritaglio di un'immagine: Image.crop(box) prende una coordinata di pixel di 4 tuple (sinistra in alto a destra in basso) e restituisce una regione rettangolare dall'immagine utilizzata. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') width height = img.size area = (0 0 width/2 height/2) img = img.crop(area) #Saved in the same relative location img.save('cropped_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    ritagliare un'immagine in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-1.webp' title=
  • Ridimensionare un'immagine: Image.resize(size): qui la dimensione viene fornita come larghezza e altezza di 2 tuple. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') width height = img.size img = img.resize((width/2 height/2)) #Saved in the same relative location img.save('resized_picture.webp') except IOError: pass if __name__ == '__main__': main() 
    ridimensionare un'immagine in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-2.webp' title=
  • Incollare un'immagine su un'altra immagine: Il secondo argomento può essere una tupla da 2 (specificando l'angolo in alto a sinistra) o una tupla da 4 (sinistra in alto a destra in basso) - in questo caso la dimensione dell'immagine incollata deve corrispondere alla dimensione di questa regione del riquadro o None che equivale a (0 0). Python
    from PIL import Image def main(): try: #Relative Path #Image on which we want to paste img = Image.open('picture.webp') #Relative Path #Image which we want to paste img2 = Image.open('picture2.webp') img.paste(img2 (50 50)) #Saved in the same relative location img.save('pasted_picture.webp') except IOError: pass if __name__ == '__main__': main() ##An additional argument for an optional image mask image is also available. 
    incollare un'immagine su un'altra in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-3.webp' title=
  • Ottenere un istogramma di un'immagine: Ciò restituirà un istogramma dell'immagine come un elenco di pixel che conta uno per ogni pixel nell'immagine. (Un istogramma di un'immagine è una rappresentazione grafica della distribuzione tonale in un'immagine digitale. Contiene tutti i valori di luminosità contenuti in un'immagine. Traccia il numero di pixel per ciascun valore di luminosità. Aiuta a definire le impostazioni di esposizione.) da PIL import Image Python
    def main(): try: #Relative Path img = Image.open('picture.webp') #Getting histogram of image print img.histogram() except IOError: pass if __name__ == '__main__': main() 
    ottenere un istogramma dell'immagine in copia python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-4.webp' title=


  • Trasporre un'immagine: Questa caratteristica ci dà l'immagine speculare di un'immagine Python
     from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #transposing image  transposed_img = img.transpose(Image.FLIP_LEFT_RIGHT) #Save transposed image transposed_img.save('transposed.webp') except IOError: pass if __name__ == '__main__': main() 
    trasporre un'immagine in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-5.webp' title=
  • Dividere un'immagine in singole bande: La divisione di un'immagine in modalità RGB crea tre nuove immagini, ciascuna contenente una copia delle singole bande originali. Python
    from PIL import Image def main(): try: #Relative Path img = Image.open('picture.webp') #splitting the image print img.split() except IOError: pass if __name__ == '__main__': main() 
    dividere un'immagine in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-6.webp' title=
  • tobitmap: Conversione di un'immagine in una bitmap X11 (un formato di immagine binaria di testo semplice). Restituisce una stringa contenente una bitmap X11 che può essere utilizzata solo per immagini in modalità 1, ovvero immagini in bianco e nero da 1 bit pixel. dall'immagine di importazione PIL Python
    def main(): try: #Relative Path img = Image.open('picture.webp') print img.mode #converting image to bitmap print img.tobitmap() print type(img.tobitmap()) except IOError: pass if __name__ == '__main__': main() 
    convertire l'immagine in bitmap in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-7.webp' title= convertire l'immagine in bitmao in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-8.webp' title=
  • Creazione di una miniatura: Questo metodo crea una miniatura dell'immagine aperta. Non restituisce un nuovo oggetto immagine, apporta modifiche sul posto all'oggetto immagine attualmente aperto stesso. Se non desideri modificare l'oggetto immagine originale, crea una copia e quindi applica questo metodo. Questo metodo valuta anche l'opportunità di mantenere le proporzioni dell'immagine in base alla dimensione passata. dall'immagine di importazione PIL Python
    def main(): try: #Relative Path img = Image.open('picture.webp') #In-place modification img.thumbnail((200 200)) img.save('thumb.webp') except IOError: pass if __name__ == '__main__': main() 
    creazione di una miniatura dell'immagine in Python' loading='lazy' src='//techcodeview.com/img/python/71/working-with-images-in-python-9.webp' title=
Crea quiz