Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Perusmuunnokset | Osio
Soveltava tietokonenäkö
Osio 1. Luku 4
single

single

bookPerusmuunnokset

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

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 suorittamista ladataan ja näytetään kuva OpenCV:llä. Olemme jo tuoneet valokuvan. Paikallisella tietokoneellasi yksinkertaista lukemista ja näyttämistä varten käytä:

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 kuvia ylös- tai alaspäin säilyttäen kuvasuhde (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), missä dsize on (new_y, new_x) tulosteen koko.

resized = cv2.resize(image, (100, 100))

Kuvan kierto

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]
Tehtävä

Swipe to start coding

Sinulle annetaan image:

  • Muuta kuvan kokoa muotoon (100, 100) ja tallenna se muuttujaan resized;
  • Hae height ja width kuvasta;
  • Laske center height- ja width-arvojen perusteella;
  • 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

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt