Perusmuunnokset
OpenCV (Open Source Computer Vision Library) on tehokas avoimen lähdekoodin kirjasto, joka on suunniteltu reaaliaikaiseen konenäköön ja kuvankäsittelyyn. Se tarjoaa työkaluja kuvien muokkaamiseen, objektien tunnistamiseen sekä syväoppimismallien kanssa työskentelyyn.
Kuvan lukeminen ja näyttäminen
Ennen muunnosten tekemistä ladataan ja näytetään kuva OpenCV:llä. Olemme jo tuoneet valokuvan. Mutta omalla tietokoneellasi yksinkertaiseen kuvan lukemiseen ja näyttämiseen käytä seuraavaa:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Kuvan koon muuttaminen
Koon muuttaminen on hyödyllistä, kun halutaan skaalata kuvaa ylös- tai alaspäin säilyttäen kuvasuhde (ratio) (fx
ja fy
-parametrit),
missä fx
ja fy
määrittävät leveyden ja korkeuden skaalauskertoimen.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Voit myös määrittää tarkat pikselimitat (dsize
-parametri),
jossa dsize
on (new_y, new_x)
tulosteen koko.
resized = cv2.resize(image, (100, 100))
Kuvan kiertäminen
Kuvan kiertämiseen tietyn kulman verran käytetään funktioita cv2.getRotationMatrix2D()
ja cv2.warpAffine()
.
cv2.getRotationMatrix2D(center, angle, scale)
määrittää kiertomatriisin;cv2.warpAffine(image, matrix, output_size)
suorittaa muunnoksen.
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))
Kuvan rajaaminen
Rajaaminen poimii tietyn alueen kuvasta. Tämä tehdään NumPy-leikkauksella.
Syntaksi image[start_y:end_y, start_x:end_x]
valitsee kiinnostusalueen.
cropped = image[450:500, 250:350]
Swipe to start coding
Sinulle annetaan image
:
- Muuta kuvan koko muotoon
(100, 100)
ja tallenna se muuttujaanresized
; - Hae
height
jawidth
kuvasta; - Laske
center
käyttäenheight
jawidth
arvoja; - Luo kiertomatriisi ja tallenna se muuttujaan
rotation_matrix
; - Kierrä kuvaa 90 astetta myötäpäivään ja tallenna se muuttujaan
rotated
; - Rajaa kuvan alue X: 250-600 ja Y: 100-450 ja tallenna se muuttujaan
cropped
.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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
Perusmuunnokset
Pyyhkäise näyttääksesi valikon
OpenCV (Open Source Computer Vision Library) on tehokas avoimen lähdekoodin kirjasto, joka on suunniteltu reaaliaikaiseen konenäköön ja kuvankäsittelyyn. Se tarjoaa työkaluja kuvien muokkaamiseen, objektien tunnistamiseen sekä syväoppimismallien kanssa työskentelyyn.
Kuvan lukeminen ja näyttäminen
Ennen muunnosten tekemistä ladataan ja näytetään kuva OpenCV:llä. Olemme jo tuoneet valokuvan. Mutta omalla tietokoneellasi yksinkertaiseen kuvan lukemiseen ja näyttämiseen käytä seuraavaa:
import cv2
image = cv2.imread('path/to/image.jpg')
cv2.imshow('Image title', image)
Kuvan koon muuttaminen
Koon muuttaminen on hyödyllistä, kun halutaan skaalata kuvaa ylös- tai alaspäin säilyttäen kuvasuhde (ratio) (fx
ja fy
-parametrit),
missä fx
ja fy
määrittävät leveyden ja korkeuden skaalauskertoimen.
resized_image = cv2.resize(image, fx=0.7, fy=0.5)
Voit myös määrittää tarkat pikselimitat (dsize
-parametri),
jossa dsize
on (new_y, new_x)
tulosteen koko.
resized = cv2.resize(image, (100, 100))
Kuvan kiertäminen
Kuvan kiertämiseen tietyn kulman verran käytetään funktioita cv2.getRotationMatrix2D()
ja cv2.warpAffine()
.
cv2.getRotationMatrix2D(center, angle, scale)
määrittää kiertomatriisin;cv2.warpAffine(image, matrix, output_size)
suorittaa muunnoksen.
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))
Kuvan rajaaminen
Rajaaminen poimii tietyn alueen kuvasta. Tämä tehdään NumPy-leikkauksella.
Syntaksi image[start_y:end_y, start_x:end_x]
valitsee kiinnostusalueen.
cropped = image[450:500, 250:350]
Swipe to start coding
Sinulle annetaan image
:
- Muuta kuvan koko muotoon
(100, 100)
ja tallenna se muuttujaanresized
; - Hae
height
jawidth
kuvasta; - Laske
center
käyttäenheight
jawidth
arvoja; - Luo kiertomatriisi ja tallenna se muuttujaan
rotation_matrix
; - Kierrä kuvaa 90 astetta myötäpäivään ja tallenna se muuttujaan
rotated
; - Rajaa kuvan alue X: 250-600 ja Y: 100-450 ja tallenna se muuttujaan
cropped
.
Ratkaisu
Kiitos palautteestasi!
single