single
Basistransformaties
Veeg om het menu te tonen
OpenCV (Open Source Computer Vision Library) is een krachtig open-source pakket 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)
Het is ook mogelijk om exacte pixeldimensies op te geven (parameter dsize),
waarbij dsize de uitvoervorm (new_y, new_x) is.
resized = cv2.resize(image, (100, 100))
Een afbeelding roteren
Voor het roteren van een afbeelding met een specifieke hoek wordt gebruikgemaakt van 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 haalt een specifiek gebied uit een afbeelding. Dit wordt uitgevoerd 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 uit 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.