Napište funkci Iout = imsharpen(I,c). Vstupní
parameter c určuje míru zaostření. Čím vyšší hodnota, tím
větší efekt, pro pak musí platit
I=Iout. Rozumné chování funkce se očekává pro hodnoty
.
[1 bod]
Pro experimenty s restaurováním obrazu/dekonvolucí můžete použít předpřipravený rozmazaný obraz. Budeme uvažovat rozmazání pohybem pouze ve směru řádků nebo sloupců, v celočíselných hodnotách.
Implementujte funkci Iout = deconvolve(I,h), kde
h je konvoluční jádro, které způsobilo rozmazání. Řádkový
vektor znamená rozmazání v horizontálním směru, sloupcový vektor
pak ve směru vertikálním. Připomínáme požadavek shodného typu a
velikosti Iout a I. Splnění tohoto požadavku
bude možná tady vyžadovat trochu péče.
[1 bod]
Implementujte funkci Iout =
removemotionblur(I,length,direction), kde vstupní parametery
length a direction jsou nepovinné. V
případě, že je funkce volána pouze s jedním parametrem, musí funkce
odhadnout směr rozmazání a jeho délku sama. Funkce bude testována postupně ve variantách:
I - čili funkce musí spočíst jak délku tak i směr rozmazání
I,length - neboli funkce musí ještě rozhodnout,
zda rozmazání je vertikálním či horizontálním směrem.
Počet vstupních parametrů
lze zjistit pomocí nargin. Očekávává se, že funkce
použije výše požadovanout funkci deconvolve. Parametr
length je nezáporný, celočíslený, parametr
direction je 'char', může nabývat hodnoty
'h' pro horizontální směr nebo 'v'
vertikální směr rozmazání.
[2 body]