
Il modulo Image della libreria di elaborazione delle immagini Python Pillow(PIL) fornisce il metodo rotate() per ruotare un’immagine.
Questo articolo descrive ogni parametro di rotazione().
- Angolo di rotazione:
angle
- Filtri di ricampionamento:
resample
- Espandi la dimensione dell’immagine di output:
expand
- Coordinate del centro di rotazione:
center
- Traduzione:
translate
- Colore per l’area esterna:
fillcolor
Fare riferimento al seguente articolo per l’installazione e l’utilizzo di base di Pillow (PIL).
Usa flip() e mirror() del modulo ImageOps per capovolgere l’immagine verticalmente o orizzontalmente.
Vedere il seguente articolo per la rotazione delle immagini con OpenCV, NumPy.
Carica le immagini come segue:
from PIL import Image
im = Image.open('data/src/lena.jpg')
Angolo di rotazione:angle
In rotate(), specifica l’angolo di rotazione in gradi come primo angolo del parametro. Il senso di rotazione è antiorario.
Ruota di 90 gradi:
im_rotate = im.rotate(90)
Ruota di 45 gradi.
im_rotate = im.rotate(45)
Filtri di ricampionamento:resample
Il parametro resample può essere utilizzato per specificare il filtro di ricampionamento.
- Image.NEAREST (vicino più vicino, predefinito)
- Immagine.BILINEARE
- Immagine.BICUBICA
Con Image.BICUBIC, i dettagli sono più chiari rispetto a Image.NEAREST predefinito.
im_rotate = im.rotate(45, resample=Image.BICUBIC)
Espandi la dimensione dell’immagine di output:expand
Come si vede dall’immagine di output dell’esempio precedente, per può venire di immagine predefinita, la dimensione dell’immagine output è uguale alla dimensione dell’immagine di input le parti al di fuori della regione troncate.
Se si desidera mantenere l’intera immagine ruotata, impostare il parametro espandere su True.
im_rotate = im.rotate(90, expand=True)
im_rotate = im.rotate(45, expand=True)
Coordinate del centro di rotazione:center
È possibile specificare la posizione del centro di rotazione con il parametro centro. Per impostazione predefinita, il centro è il centro dell’immagine.
im_rotate = im.rotate(45, center=(0, 60))
Nel caso di expand=Vero, l’area dell’immagine di output viene determinata presupponendo che l’immagine sia ruotata attorno al centro dell’immagine.
im_rotate = im.rotate(45, center=(0, 60), expand=True)
Traduzione:translate
Puoi tradurre prima della rotazione con il parametro translate. translate è specificato da (distanza di traslazione in direzione x, distanza di traslazione in direzione y).
Senza rotazione:
im_rotate = im.rotate(0, translate=(100, 50))
Ruota di 45 gradi e traduci:
im_rotate = im.rotate(45, translate=(100, 50))
Se expand=Vero, l’area dell’immagine di output viene determinata presupponendo che l’immagine venga ruotata senza traslazione.
im_rotate = im.rotate(45, translate=(100, 50), expand=True)
Colore per l’area esterna:fillcolor
È possibile specificare il colore per l’area esterna con il colore di riempimento. Il colore predefinito è nero.
Nel caso di immagini RGB, viene specificata come una tupla di (R, G, B).
im_rotate = im.rotate(45, fillcolor=(255, 128, 0), expand=True)