Basistransformaties
Een afbeelding lezen en weergeven
Voordat we transformaties uitvoeren, laden en tonen we eerst een afbeelding met OpenCV. We hebben de foto al geïmporteerd. Maar op je lokale computer gebruik je voor het eenvoudig lezen en weergeven van de foto het volgende:
Een afbeelding schalen
Schalen is handig om afbeeldingen te vergroten of te verkleinen met behoud van de beeldverhouding (fx
en fy
parameters),
waarbij fx
en fy
de schaalfactoren voor breedte en hoogte bepalen.
Je kunt ook exacte pixeldimensies opgeven (dsize
parameter),
waarbij dsize
de uitvoervorm (new_y, new_x)
is.
Een afbeelding roteren
Om een afbeelding met een specifieke hoek te roteren, gebruiken we cv2.getRotationMatrix2D()
en cv2.warpAffine()
.
cv2.getRotationMatrix2D(center, angle, scale)
definieert de rotatiematrix;cv2.warpAffine(image, matrix, output_size)
past de transformatie toe.
Een afbeelding bijsnijden
Bijsnijden haalt een specifiek gebied uit een afbeelding. Dit gebeurt met NumPy-slicing.
De syntaxis image[start_y:end_y, start_x:end_x]
selecteert een interessegebied.
Swipe to start coding
Je krijgt een image
:
- Formaat van de afbeelding wijzigen naar
(100, 100)
en opslaan in de variabeleresized
; height
enwidth
uit de afbeelding halen;center
vanheight
enwidth
berekenen;- Rotatiematrix aanmaken en opslaan in de variabele
rotation_matrix
; - Afbeelding 90 graden met de klok mee roteren en opslaan in de variabele
rotated
; - Het gebied X: 250-600 en Y: 100-450 uit de afbeelding bijsnijden en opslaan in de variabele
cropped
.
Oplossing
Bedankt voor je feedback!