Úvod do digitálního zpracování obrazu
03 Bodové transformace
Cílem třetího cvičení je seznámit se s homogenními bodovými transformacemi.
Materiály na cvičení: 03.zip
Odevzdávárna pro běžné odevzdání: Cvičení 03
Odevzdávárna pro opravné odevzdání: Oprava 03
Soubory k odevzdání: My_Inversion.java, My_IncreaseBrightness.java, My_IncreaseContrast.java, My_LinearStretch.java, My_GammaCorrection.java
Užitečné metody: getPixelCount(), get(), set(), pow(), round()
Typické chyby:
Materiály na cvičení: 03.zip
Odevzdávárna pro běžné odevzdání: Cvičení 03
Odevzdávárna pro opravné odevzdání: Oprava 03
Soubory k odevzdání: My_Inversion.java, My_IncreaseBrightness.java, My_IncreaseContrast.java, My_LinearStretch.java, My_GammaCorrection.java
Užitečné metody: getPixelCount(), get(), set(), pow(), round()
Typické chyby:
- Implementace
My_LinearStretch
padá nad konstantním obrazem - Implementace
My_IncreaseContrast
,My_LinearStretch
aMy_GammaCorrection
odsekávají desetinnou část výstupních hodnot místo jejich zaokrouhlení na nejbližší celočíselnou hodnotu:(int) 9.7 != (int)(9.7 + 0.5)
- Zbytečná indexace pomocí souřadnic místo lineární indexace
- Zjištění počtu pixelů v obrazu jako součin výšky a šířky obrazu místo volání funkce
getPixelCount()
- Opakovaně používané výrazy nejsou ukládány do pomocných proměnných
- Zbytečné použití pomocných proměnných pro výrazy, které se použijí pouze jednou
- Použití méně přehledného zápisu
(double) 255
místo255.0
- Zbytečný test zápornosti výstupních hodnot u
My_IncreaseBrightness
aMy_IncreaseContrast
- Zbytečná kontrola rozsahu výstupních hodnot u
My_LinearStretch
aMy_GammaCorrection