A hisztogram készítés eljárása
A képfeldolgozási eljárásokban a képek intenzitáshisztogramja alapvető jelentőséggel bír. A szürkeárnyalatos képek esetén a következőképpen kell eljárnunk: jelöljön r egy valós értékű valószínűségi változót (az intenzitást), és tekintsünk ennek egy <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>r</mi>
<mn>1</mn>
</msub>
<mo>,</mo><mi> </mi><msub>
<mi>r</mi>
<mn>2</mn>
</msub>
<mo>,</mo><mi> </mi><mo>…</mo><mo>,</mo><mi> </mi><msub>
<mi>r</mi>
<mi>M</mi>
</msub>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> realizációját. Mivel a hisztogram az elméleti sűrűségfüggvény diszkrét közelítése, ezért osszuk fel a számegyenest <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>y</mi>
<mn>0</mn>
</msub>
<mo><</mo><msub>
<mi>y</mi>
<mn>1</mn>
</msub>
<mo><</mo><mo>…</mo><mo><</mo><msub>
<mi>y</mi>
<mi>k</mi>
</msub>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> osztópontokkal, úgy hogy <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mtext>y</mtext>
<mtext>0</mtext>
</msub>
<mo>≥</mo><munderover>
<mrow>
<mi>min</mi><mo></mo>
</mrow>
<mrow>
<mi>j</mi><mo>=</mo><mn>1</mn>
</mrow>
<mi>M</mi>
</munderover>
<mo>{</mo><msub>
<mi>r</mi>
<mi>j</mi>
</msub>
<mo>}</mo>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> és <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mtext>y</mtext>
<mtext>k</mtext>
</msub>
<mo>≤</mo><munderover>
<mrow>
<mi>max</mi><mo></mo>
</mrow>
<mrow>
<mi>j</mi><mo>=</mo><mn>1</mn>
</mrow>
<mi>M</mi>
</munderover>
<mo>{</mo><msub>
<mi>r</mi>
<mi>j</mi>
</msub>
<mo>}</mo>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> . Jelölje <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>n</mi>
<mi>i</mi>
</msub>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> az <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mrow><mo>[</mo> <mrow>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>−</mo><mn>1,</mn><msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</mrow> <mo>)</mo></mrow>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> intervallumba eső mintaelemek számát (i = 1, ..., k), majd rajzoljunk az <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mrow><mo>[</mo> <mrow>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>−</mo><mn>1,</mn><msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</mrow> <mo>)</mo></mrow>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> intervallum fölé az <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>n</mi>
<mi>i</mi>
</msub>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> -vel arányos területű téglalapot. Az így kapott alakzatot az <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>r</mi>
<mn>1</mn>
</msub>
<mo>,</mo><msub>
<mi>r</mi>
<mn>2</mn>
</msub>
<mo>,</mo><mo>…</mo><mo>,</mo><msub>
<mi>r</mi>
<mi>M</mi>
</msub>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> minta <math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>y</mi>
<mn>0</mn>
</msub>
<mo><</mo><msub>
<mi>y</mi>
<mn>1</mn>
</msub>
<mo><</mo><mo>…</mo><mo><</mo><msub>
<mi>y</mi>
<mi>k</mi>
</msub>
</mrow>
<annotation encoding="MathType-MTEF">
</annotation>
</semantics></math> beosztáshoz tartozó hisztogramjának nevezzük.
Ha a megrajzolt téglalapok összterülete M, akkor gyakorisági hisztogramhoz jutunk. Ha a téglalapok összterülete 1, akkor a sűrűséghisztogramot kapjuk.
A kép intenzitástartományok alapján történő szétbontását küszöbölésnek nevezzük. A szétbontáshoz használt értékek (küszöbök) megadása általában a hisztogram lokális szélsőértékeinek (módusainak / völgyeinek) meghatározásával történik. A küszöbölést (például binarizálást) általában előfeldolgozásként használhatjuk későbbi képfeldolgozási műveletekhez. A szintrevágás művelet jelenti a klasszikus egy- vagy többszintű küszöbölést. Az egyszintű küszöböléshez egy T küszöbértéket rögzítünk, és a képpontokat a szerint soroljuk két osztályba, hogy az intenzitásuk T alá vagy fölé esik-e. Többszintű küszöbölés esetén az intenzitásskálán több küszöbértéket is megadunk, és a képpontok új intenzitásértékeit általában a kapott tartományok legkisebb értékeire állítjuk.
Sávkiemelés / sávkizárás esetén az intenzitáshisztogram segítségével egyszerűen kiemelhetjük a fontosnak tartott intenzitásokat (sávkiemelés), illetve analóg módon ki is szűrhetjük ezeket a képből (sávkizárás).
Hisztogram-kiegyenlítés
Azt az eljárást, ami a képet úgy transzformálja, hogy a világosságkódok egyenletes eloszlásúakká váljanak, hisztogram-kiegyenlítésnek nevezzük. Ez főként olyan képeknél hasznos, amelyek valamilyen ok miatt (például rossz megvilágítás) kevésbé kontrasztosak, azaz az intenzitásértékek az intenzitástartomány kisebb részére koncentrálódnak. Az eljárás lényegében analóg módon a folytonos és diszkrét térben egyaránt elvégezhető.
Az értékek kiszámítása után már csak egy lépés marad hátra. Nevezetesen, az új intenzitásértékek nem illeszkednek pontosan a régi szürkeségi értékekre, ezért minden új értékhez a hozzá legközelebbi régi értéket kell hozzárendelni kerekítéssel.
A hisztogramkiegyenlítés eredménye az eljárás globális volta miatt nem minden esetben kielégítő, mivel nem veszi figyelembe a kép lokális tulajdonságait. Ennek kiküszöbölésére használhatunk lokális eljárást, amely egy lokális szomszédságon belül javítja a képet.
Az intenzitáshisztogram transzformációja előfeldolgozó lépés mellett már önmagában is jól alkalmazható bizonyos képjavítások elvégzésére. Az egyszerűbb tárgyalhatóság kedvéért használjunk most normált r intenzitásváltozót, azaz legyen 0 ≤ r ≤ 1. Tekintsük az s = T(r)
transzformációt, ami az eredeti kép egy r intenzitásértékéhez egy új s intenzitásértéket rendel. A transzformációval szemben az alábbi két feltételt támasztjuk:
i) T(r) egyértékű és monoton növekvő a 0 ≤ r ≤ 1 intervallumon,
ii) 0 ≤ T(r) ≤ 1 minden 0 ≤ r ≤ 1-re.
Az i) feltétel biztosítja a szürkeségi skála árnyalatai sorrendjének megőrzését a legkisebbtől a legnagyobbig, míg az ii) feltétel megtartja a használt szürkeségi skálát. Az s-et r-re visszaalakító inverz transzformáció (amennyiben létezik) a következő:
r = T−1(s), 0 ≤ s ≤ 1,
ahol a T−1(s) transzformáció is teljesíti az i) és ii) feltételeket s-re nézve.