Grundlæggende Transformationer
OpenCV (Open Source Computer Vision Library) er et kraftfuldt open source-bibliotek designet til realtids computer vision og billedbehandling. Det tilbyder værktøjer til at manipulere billeder, detektere objekter og endda arbejde med dybe læringsmodeller.
Indlæsning og visning af et billede
Før der udføres transformationer, skal vi først indlæse og vise et billede ved hjælp af OpenCV. Vi har allerede importeret billedet. Men på din lokale computer skal du for simpel indlæsning og visning af billedet bruge:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Ændring af billedstørrelse
Ændring af størrelse er nyttigt til at skalere billeder op eller ned, mens aspektforholdet bevares (fx og fy parametre),
hvor fx og fy definerer skaleringsfaktoren for bredde og højde.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Du kan også angive præcise pixel-dimensioner (dsize-parameteren),
hvor dsize er (new_y, new_x) output-formen.
resized = cv2.resize(image, (100, 100))
Rotation af et billede
For at rotere et billede med en bestemt vinkel anvendes cv2.getRotationMatrix2D() og cv2.warpAffine().
cv2.getRotationMatrix2D(center, angle, scale)definerer rotationsmatricen;cv2.warpAffine(image, matrix, output_size)anvender 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æring af et billede
Beskæring udtrækker et specifikt område fra et billede. Dette udføres ved hjælp af NumPy-slicing.
Syntaksen image[start_y:end_y, start_x:end_x] vælger et interesseområde.
cropped = image[450:500, 250:350]
Swipe to start coding
Du har fået et image:
- Ændr billedets størrelse til
(100, 100)og gem det i variablenresized; - Udtræk
heightogwidthfra billedet; - Beregn
centerud fraheightogwidth; - Opret en rotationsmatrix og gem den i variablen
rotation_matrix; - Rotér billedet 90 grader med uret og gem det i variablen
rotated; - Beskær området X: 250-600 og Y: 100-450 af billedet og gem det i variablen
cropped.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.45
Grundlæggende Transformationer
Stryg for at vise menuen
OpenCV (Open Source Computer Vision Library) er et kraftfuldt open source-bibliotek designet til realtids computer vision og billedbehandling. Det tilbyder værktøjer til at manipulere billeder, detektere objekter og endda arbejde med dybe læringsmodeller.
Indlæsning og visning af et billede
Før der udføres transformationer, skal vi først indlæse og vise et billede ved hjælp af OpenCV. Vi har allerede importeret billedet. Men på din lokale computer skal du for simpel indlæsning og visning af billedet bruge:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Ændring af billedstørrelse
Ændring af størrelse er nyttigt til at skalere billeder op eller ned, mens aspektforholdet bevares (fx og fy parametre),
hvor fx og fy definerer skaleringsfaktoren for bredde og højde.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Du kan også angive præcise pixel-dimensioner (dsize-parameteren),
hvor dsize er (new_y, new_x) output-formen.
resized = cv2.resize(image, (100, 100))
Rotation af et billede
For at rotere et billede med en bestemt vinkel anvendes cv2.getRotationMatrix2D() og cv2.warpAffine().
cv2.getRotationMatrix2D(center, angle, scale)definerer rotationsmatricen;cv2.warpAffine(image, matrix, output_size)anvender 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æring af et billede
Beskæring udtrækker et specifikt område fra et billede. Dette udføres ved hjælp af NumPy-slicing.
Syntaksen image[start_y:end_y, start_x:end_x] vælger et interesseområde.
cropped = image[450:500, 250:350]
Swipe to start coding
Du har fået et image:
- Ændr billedets størrelse til
(100, 100)og gem det i variablenresized; - Udtræk
heightogwidthfra billedet; - Beregn
centerud fraheightogwidth; - Opret en rotationsmatrix og gem den i variablen
rotation_matrix; - Rotér billedet 90 grader med uret og gem det i variablen
rotated; - Beskær området X: 250-600 og Y: 100-450 af billedet og gem det i variablen
cropped.
Løsning
Tak for dine kommentarer!
single