Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Basistransformaties | Beeldverwerking met OpenCV
Essentiële Computer Vision

bookBasistransformaties

Note
Definitie

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]
Taak

Swipe to start coding

Je krijgt een image:

  • Formaat van de afbeelding wijzigen naar (100, 100) en opslaan in de variabele resized;
  • height en width uit de afbeelding halen;
  • center van height en width 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

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 1
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.45

bookBasistransformaties

Veeg om het menu te tonen

Note
Definitie

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]
Taak

Swipe to start coding

Je krijgt een image:

  • Formaat van de afbeelding wijzigen naar (100, 100) en opslaan in de variabele resized;
  • height en width uit de afbeelding halen;
  • center van height en width 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

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 1
single

single

some-alt