Úkolem je navrhnout a implementovat algoritmus, který počítá efekt nad rastrovým obrázkem. Výsledek by se měl podobat některé z impresionistických malířských technik, např. viz Wiki stránka o impresionismu.
Základem poslouží projekt 084filter z repository grcis. Je připravena jednoduchá aplikace, ve které uživatel zadává vstupní obrázek a ihned se automaticky spouští metoda Filter.Recompute() přepočítávající vstup do nové podoby. Výstup je poté zobrazen ve formuláři. Tuto metodu musíte přeprogramovat, příslušný úsek kódu je ve zdrojáku Filter.cs označen závorkami:
// !!!{{ // !!!}}
Pokud nechcete používat rychlou (ale nebezpečnější a méně přehlednou) variantu přístupu k datům obrázků, nemusíte, prostě použijte kód založený na druhé větvi #if.
Pokud byste potřebovali, funkce pro převody mezi RGB a HSV najdete v souboru common/MathSupport.cs. Funkci na převod do odstínů šedé najdete v common/RasterDrawing.cs
Musíte poslat zdrojový soubor Filter.cs.
Na první řádce v komentáři napište své jméno.
Do procedury InitParams() můžete napsat sadu vhodných vstupních parametrů.
V parametru 'name' vraťte své jméno.
Pokud použijete stringový parametr param, nezapomeňte popsat jeho
formát a sémantiku.
Pokud jste dosáhli nějakého pěkného výsledku s konkrétním vstupním obrázkem,
můžete poslat i ten vstup. Ale pozor na velikost přílohy, radši ho někam vystavte
(Dropbox, GoogleDrive, uloz.to) a pošlete jen URL.
Do odevzdaného zdrojáku připište podrobnější komentář o původu vašeho algoritmu: zda jste ho sami vymysleli, zda jste se inspirovali literaturou, nějakým efektem (PhotoShop, GiMP, ..), apod. Na jaká data se má filtr aplikovat, jaký má být výsledek výpočtu..
Odevzdat do: 10. 12. 2017
Základ: 8 bodů, bonus až 6 bodů.
Visual Studio projekt: 084filter.
Modifikujte a odevzdejte soubor: Filter.cs
Do funkce InitParams() napište své jméno!
Váš algoritmus by měl fungovat na libovolný vstupní obrázek, pro testování můžete použít pár obrázků přímo z repository, z adresáře data, dále můžete použít třeba obrázky sail.png, silverstone-17671.png, maran-18587.png, monarch.png, skyline129-178-246.png.
Stránka obsahující vybrané výsledky.
Copyright (C) 2013-2017 J.Pelikán, last change: 2019-11-09 16:32:27 +0100 (Sat, 09 Nov 2019)