Kuva- ja videosignaalien käsittely (kevät 2009)
Laskuharjoituksia:
1. Alla oleva kuva esittää jonkin signaalin näytteistysajanhetkiä 1,2,3,4. Signaali halutaan interpoloida siten, että samalta aikaväliltä tulee otettua tasavälein näytteet 1,2,3,4,5,6,7,8. Piirrä
näytteistyskohdat alla olevaan kuvaan.
Figure 1
2. Piirrä tehtävän 1 mukaiset näytteistyskohdat 1,2,3,4,5,6,7,8 myös alla olevaan kuvaan 2. Piirrä sen jälkeen näytteistyskohtiin interpoloidut arvot sekä nearest-neighbor että linear interpolation menetelmillä.
Figure 2 Tehtävä 3:
Johda bilineaarisen interpolation kaava ja interpoloi sitä käyttäen neljän pisteen kuvamatriisi
A = 1 2
3 4
Matriisiksi, jossa on 4 kappaletta sarakkeita ja 3 kappaletta rivejä.
Tehtävä 4:
Täydennä annettu Matlab funktio teht3.m siten, että se laskee bilineaarisella muunnoksella 2*2 kuvamatriisista 3*4 kuvamatriisin pisteet.
) , ( ) 1 )(
1 ( ) 1 , ( ) - (1 ) , 1 ( ) 1 ( ) 1 , 1 ( )
' , '
(x y f x y f x y f x y f x y
f
Testaa funktiosi KUVA = [100 , 115 ; 150 , 250] matriisilla syöttämällä tuo 2*2 matriisi funktioosi teht3(KUVA).
Tehtävä 5:
Lataa kuva A = imread(’cameraman.tif’) ja irroita kuvasta kameramiehen päätä kuvaava osuus Head = A(33:96,90:153); imshow(Head):
Suurenna tämän jälkeen kuvaa 4 kertaiseksi (help imresize) nearest neighbor, biliear ja bicubic menetelmillä ja vertaile interpolointimentelmien hyvyyttä.