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; heightenwidthuit de afbeelding halen;centervanheightenwidthberekenen;- 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.
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; heightenwidthuit de afbeelding halen;centervanheightenwidthberekenen;- 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