Grundläggande Transformationer
OpenCV (Open Source Computer Vision Library) är ett kraftfullt öppen källkod-bibliotek utformat för realtids datorseende och bildbehandling. Det tillhandahåller verktyg för att manipulera bilder, detektera objekt och även arbeta med djupinlärningsmodeller.
Läsa in och visa en bild
Innan transformationer utförs, läs in och visa en bild med OpenCV. Fotot har redan importerats. Men på din lokala dator, för enkel inläsning och visning av fotot, använd:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Ändra storlek på en bild
Storleksändring är användbart för att skala bilder upp eller ner samtidigt som bildens förhållande (fx
och fy
parametrar) bibehålls,
där fx
och fy
definierar skalningsfaktorn för bredd och höjd.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Du kan också ange exakta pixeldimensioner (dsize
-parametern),
där dsize
är (new_y, new_x)
för utdataformatet.
resized = cv2.resize(image, (100, 100))
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.
height, width = image.shape[:2]
centre = (width // 2, height // 2)
rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))
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.
cropped = image[450:500, 250:350]
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!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.45
Grundläggande Transformationer
Svep för att visa menyn
OpenCV (Open Source Computer Vision Library) är ett kraftfullt öppen källkod-bibliotek utformat för realtids datorseende och bildbehandling. Det tillhandahåller verktyg för att manipulera bilder, detektera objekt och även arbeta med djupinlärningsmodeller.
Läsa in och visa en bild
Innan transformationer utförs, läs in och visa en bild med OpenCV. Fotot har redan importerats. Men på din lokala dator, för enkel inläsning och visning av fotot, använd:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Ändra storlek på en bild
Storleksändring är användbart för att skala bilder upp eller ner samtidigt som bildens förhållande (fx
och fy
parametrar) bibehålls,
där fx
och fy
definierar skalningsfaktorn för bredd och höjd.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Du kan också ange exakta pixeldimensioner (dsize
-parametern),
där dsize
är (new_y, new_x)
för utdataformatet.
resized = cv2.resize(image, (100, 100))
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.
height, width = image.shape[:2]
centre = (width // 2, height // 2)
rotation_matrix = cv2.getRotationMatrix2D(centre, 180, 1)
rotated = cv2.warpAffine(image, rotation_matrix, (width, height))
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.
cropped = image[450:500, 250:350]
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!
single