Jméno: Marek Jasanský (jasanm1)
Všechny níže popsané funkce jsem volal ze skriptu uloha1.m, ve kterém jsou i příkazy pro vykreslení obrázků. Html podobu skriptu vygenerovanou matlabem si mužete prohlédnout po kliknutí na tento odkaz (uloha1.html).
Nejprve jsem napsal jednoduchou funkci jasova_transformace.m, která jas obrázku sníží (obraz se ztmavý) nebo zvýší (obraz se zesvětlý) o zadaný počet úrovní. Jas obrázků jsem zvýšil o 50 úrovní, výsledek můžete vidět zde:
Dál jsem zkoušel obrázek vylepšit po částech lineární transformací. K tomu jsem si napsal funkci pocaslin.m. První zlom na ose x (původní jas), jsem umístil na hodnotu a = 100, druhý na b = 150. Na ose y (transformovaný jas), byl první zlom c = 130 a druhý d = 250. Význam jednotlivých zlomů je dobře patrný na tomto obrázku, kde I znaci puvodni jas a f(I) transformovany jas. Výsledkem po částech lineární transformace byl lepší kontrast obrázku, obrázek však vypadá nepřirozeně, kontrast jsem zvýšil možná až příliš mnoho.
Poslední z transformací, kterou jsem vyzkoušel, byla ekvalizace histogramu obrázku. K tomu jsem si napsal funkci equal_hist.m. V ní jsem implementoval vzorec pro ekvalizaci obrazu (skripta V. Hlaváč a M. Sedláček. Zpracování signálů a obrazů, str. 145, rovnice 9.17). Níže je zobrazen původní i transformovaný obrázek a jejich histogramy. Transformací se opět zvýšil kontrast obrázku, bohužel až moc.
Počet jasových úrovní ekvalizovaného obrázku je větší. Ekvalizace znamená, že by jednotlivé jasové úrovně měly být zastoupeny přibližně stejně. Vidět je to i na histogramu ekvalizovaného obrázku (viz výše).