Trasformazioni di Base
Lettura e Visualizzazione di un'Immagine
Prima di eseguire trasformazioni, carichiamo e visualizziamo un'immagine utilizzando OpenCV. Abbiamo già importato la foto. Tuttavia, sul tuo computer locale, per una semplice lettura e visualizzazione della foto dovresti usare:
Ridimensionamento di un'Immagine
Il ridimensionamento è utile per scalare le immagini verso l'alto o verso il basso mantenendo il rapporto d'aspetto (parametri fx
e fy
),
dove fx
e fy
definiscono il fattore di scala per larghezza e altezza.
È inoltre possibile specificare dimensioni esatte in pixel (parametro dsize
),
dove dsize
rappresenta la forma di output (new_y, new_x)
.
Rotazione di un'immagine
Per ruotare un'immagine di un angolo specifico, si utilizzano cv2.getRotationMatrix2D()
e cv2.warpAffine()
.
cv2.getRotationMatrix2D(center, angle, scale)
definisce la matrice di rotazione;cv2.warpAffine(image, matrix, output_size)
applica la trasformazione.
Ritaglio di un'immagine
Il ritaglio consente di estrarre una regione specifica da un'immagine. Si effettua tramite slicing di NumPy.
La sintassi image[start_y:end_y, start_x:end_x]
seleziona una regione di interesse.
Swipe to start coding
Ti viene fornita un'immagine (image
):
- Ridimensionare l'immagine a una forma
(100, 100)
e salvarla nella variabileresized
; - Estrarre
height
ewidth
dall'immagine; - Calcolare il
center
utilizzandoheight
ewidth
; - Creare la matrice di rotazione e salvarla nella variabile
rotation_matrix
; - Ruotare l'immagine di 90 gradi in senso orario e salvarla nella variabile
rotated
; - Ritagliare la regione X: 250-600 e Y: 100-450 dell'immagine e salvarla nella variabile
cropped
.
Soluzione
Grazie per i tuoi commenti!