Ú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:
  • Implementace My_LinearStretch padá nad konstantním obrazem
  • Implementace My_IncreaseContrast , My_LinearStretch a My_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)
Typické neobratnosti:
  • 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ísto 255.0
  • Zbytečný test zápornosti výstupních hodnot u My_IncreaseBrightness a My_IncreaseContrast
  • Zbytečná kontrola rozsahu výstupních hodnot u My_LinearStretch a My_GammaCorrection