Úvod do digitálního zpracování obrazu

06 Nelineární filtry

Cílem šestého cvičení je seznámit se s principy základních nelineárních filtrů, jakými jsou minimum, maximum a medián.

Materiály na cvičení: 06.zip
Odevzdávárna pro běžné odevzdání: Cvičení 06
Odevzdávárna pro opravné odevzdání: Oprava 06
Soubory k odevzdání: My_MedianFilter.java, My_AdvancedMedianFilter.java

Užitečné metody: getWidth(), getHeight(), get(), set(), duplicate(), add(), get(), clear()

Typické chyby:
  • Při výpočtu mediánu posloupnosti sudé délky dochází k odseknutí desetinné části výstupní hodnoty místo jejího zaokrouhlení na nejbližší celočíselnou hodnotu: (int)(0.5 * (a + b)) != (int)(0.5 * (a + b) + 0.5)
  • U My_AdvancedMedianFilter jsou opravovány i pixely bez poškození impulzním šumem
Typické neobratnosti:
  • Zbytečné testování prázdnosti vstupního seznamu v getMedian()
  • Zbytečné volání metody getMedian() pro prázdné seznamy a následné testování magické návratové hodnoty
  • Zbytečné testování platnosti jednotlivých pozic v procházeném okolí místo zjištění jeho mezí předem
  • Zbytečné použití neceločíselného dělení a zaokrouhlení pro získání pozice prostředního prvku seznamu