Modificările neliniare de contrast prin compandarea domeniului se realizează folosind o curbă logaritmică pentru a redistribui intensitățile pixelilor într-o imagine. Aceasta poate fi utilă pentru a evidenția detalii în zonele întunecate sau luminoase ale imaginii, în funcție de preferințele artistice sau cerințele specifice ale aplicației.
Funcția matematică utilizată pentru a aplica compandarea domeniului cu o curbă logaritmică este:
Unde:
- O(x) este intensitatea pixelului rezultat
- I(x) este intensitatea pixelului inițial
- A este un parametru care controlează gradul de compresie/expansiune a domeniului intensității
- C este un parametru de scalare care poate fi utilizat pentru a ajusta nivelul de contrast general al imaginii
Valoarea lui A influențează cât de abruptă este curbă logaritmică, iar C controlează contrastul global al imaginii
Codul pentru metoda pentru care face compandarea :
Modificări neliniare de contrast prin expandarea domeniului - ca transformare inversă celei de compandare, deci având o alură exponențială.
Pentru a aplica modificări neliniare de contrast prin expandarea domeniului, putem folosi o alură exponențială inversă a compandării logaritmice. Astfel, vom aplica o funcție exponențială asupra intensităților pixelilor pentru a expanda domeniul intensității. Formula matematică este următoarea:
Codul pentru metoda pentru care face compandarea :
O metoda unde verific daca imaginea introdusa este pe 8 sau 24 biti: