Kuvan laadun mittaaminen on olennaista eri aloilla, kuten kuvankäsittelyssä, pakkaus- ja lähetystoiminnassa. Kaksi yhteistä mittaria ovat Peak Signal-to-Melusuhde (PSNR) ja rakenteellinen samankaltaisuusindeksi (SSIM). Tässä artikkelissa selitetään, miten nämä mittarit lasketaan käytännössä.

PSNR:n ymmärtäminen

PSNR mittaa painetun tai käsitellyn kuvan ja sen alkuperäisen version välisen eron. Se ilmaistaan desibeleinä (dB). Korkeammat PSNR-arvot osoittavat parempaa laatua.

Laske PSNR ensin keskiarvo neliövirhe (MSE) kahden kuvan väliin:

MSE = (1 / (leveys × korkeus)) × Σ (I alkuperäinen - I käsitelty)2

Tämän jälkeen PSNR lasketaan seuraavasti:

PSNR = 10 × log10 (MAX I2 / MSE)

jossa MAX I on kuvan suurin mahdollinen pikseliarvo (esim. 255 8-bittisille kuville).

SSIM:n ymmärtäminen

SSIM arvioi kahden kuvan samankaltaisuutta, joka perustuu luminanssiin, kontrastiin ja rakenteeseen. Se tarjoaa arvon -1 ja 1 välillä, jossa 1 osoittaa identtiset kuvat.

SSIM-indeksi lasketaan kaavalla:

SSIM = [(2μ xμ y + C1)(2σ xy + C2)] / [(μ x2 + μ y2 + C1)(σ x2 + σ y2 + C2)]

jossa μ x ja μ y ovat kuvien x ja y, σ x2 ja σ y2 ovat varianssit, σ xy on kovarianssi ja C1, C2 ovat vakioita tasaamaan jakautumista.

Käytännön laskentavinkkejä

Näiden laskelmien toteuttamiseen kuuluu tyypillisesti kuvankäsittelykirjastojen kuten OpenCV:n tai skit-kuvan käyttö Pythonissa. Nämä kirjastot tarjoavat toimintoja, joiden avulla PSNR ja SSIM voidaan laskea suoraan ja yksinkertaistaa prosessia.

  • Varmista, että kuvat ovat samankokoisia ja väritilaa.
  • Käytä tarkkuutta kelluvien pisteiden kuvauksissa.
  • Tarvittaessa on käytettävä asianmukaista normalisointia.
  • Hyödynnä olemassa olevia kirjaston toimintoja tehokkuuden varmistamiseksi.