Grundläggande Transformationer
Läsa in och visa en bild
Innan du utför transformationer, låt oss först ladda och visa en bild med OpenCV. Vi har redan importerat fotot. Men på din lokala dator, för enkel inläsning och visning av fotot, bör du använda:
Ändra storlek på en bild
Att ändra storlek är användbart för att skala bilder upp eller ner samtidigt som bildförhållandet bibehålls (fx
och fy
parametrar),
där fx
och fy
definierar skalningsfaktorn för bredd och höjd.
Du kan också ange exakta pixeldimensioner (dsize
parameter),
där dsize
är (new_y, new_x)
utdataformat.
Rotera en bild
För att rotera en bild med en specifik vinkel används cv2.getRotationMatrix2D()
och cv2.warpAffine()
.
cv2.getRotationMatrix2D(center, angle, scale)
definierar rotationsmatrisen;cv2.warpAffine(image, matrix, output_size)
tillämpar transformationen.
Beskära en bild
Beskärning extraherar ett specifikt område från en bild. Detta görs med NumPy-slicing.
Syntaxen image[start_y:end_y, start_x:end_x]
väljer ett intresseområde.
Swipe to start coding
Du har fått en image
:
- Ändra storlek på bilden till
(100, 100)
och spara den i variabelnresized
; - Extrahera
height
ochwidth
från bilden; - Beräkna
center
avheight
ochwidth
; - Skapa en rotationsmatris och spara den i variabeln
rotation_matrix
; - Rotera bilden 90 grader medurs och spara den i variabeln
rotated
; - Beskär området X: 250-600 och Y: 100-450 från bilden och spara det i variabeln
cropped
.
Lösning
Tack för dina kommentarer!