Úlohy 2. cvičení: Vylepšení/restaurace obrazu – zaostření, dekonvoluce, FFT

  1. 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 c=0 pak musí platit I=Iout. Rozumné chování funkce se očekává pro hodnoty 0.3<c<0.6. [1 bod]

  2. 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.

  3. 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]

  4. 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:

    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]

Doprovodný text
[ ZSO cvičení | Za stránku zodpovědný: Tomáš Svoboda ]