Ú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:
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
- 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