Basistransformaties
OpenCV (Open Source Computer Vision Library) is een krachtige open-source bibliotheek ontworpen voor real-time computer vision en beeldverwerking. Het biedt hulpmiddelen voor het manipuleren van afbeeldingen, het detecteren van objecten en zelfs het werken met deep learning-modellen.
Een afbeelding lezen en weergeven
Voordat transformaties worden uitgevoerd, eerst een afbeelding laden en weergeven met OpenCV. De foto is al geïmporteerd. Maar op uw lokale computer gebruikt u voor het eenvoudig lezen en weergeven van de foto:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Een afbeelding schalen
Schalen is nuttig voor het vergroten of verkleinen van afbeeldingen met behoud van de verhouding (fx
en fy
parameters),
waarbij fx
en fy
de schaalfactor voor breedte en hoogte bepalen.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
U kunt ook exacte pixeldimensies specificeren (parameter dsize
),
waarbij dsize
de uitvoervorm (new_y, new_x)
is.
resized = cv2.resize(image, (100, 100))
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.
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))
Een afbeelding bijsnijden
Bijsnijden extraheert 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.
cropped = image[450:500, 250:350]
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 van de afbeelding bijsnijden en opslaan in de variabele
cropped
.
Oplossing
Bedankt voor je feedback!
single
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain what each OpenCV function does in these examples?
How do I choose the right parameters for resizing or rotating an image?
Can you show more examples of image transformations?
Awesome!
Completion rate improved to 3.45
Basistransformaties
Veeg om het menu te tonen
OpenCV (Open Source Computer Vision Library) is een krachtige open-source bibliotheek ontworpen voor real-time computer vision en beeldverwerking. Het biedt hulpmiddelen voor het manipuleren van afbeeldingen, het detecteren van objecten en zelfs het werken met deep learning-modellen.
Een afbeelding lezen en weergeven
Voordat transformaties worden uitgevoerd, eerst een afbeelding laden en weergeven met OpenCV. De foto is al geïmporteerd. Maar op uw lokale computer gebruikt u voor het eenvoudig lezen en weergeven van de foto:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Een afbeelding schalen
Schalen is nuttig voor het vergroten of verkleinen van afbeeldingen met behoud van de verhouding (fx
en fy
parameters),
waarbij fx
en fy
de schaalfactor voor breedte en hoogte bepalen.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
U kunt ook exacte pixeldimensies specificeren (parameter dsize
),
waarbij dsize
de uitvoervorm (new_y, new_x)
is.
resized = cv2.resize(image, (100, 100))
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.
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))
Een afbeelding bijsnijden
Bijsnijden extraheert 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.
cropped = image[450:500, 250:350]
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 van de afbeelding bijsnijden en opslaan in de variabele
cropped
.
Oplossing
Bedankt voor je feedback!
single