Histogrammegalisierung < Computergraphik < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:11 Mi 31.01.2007 | Autor: | Bastiane |
Hallo zusammen!
A.S. : Falls jemand keine Lust hat, alles durchzulesen, würde mir eine kurze Erklärung des Verfahrens auch schon helfen.
Ich versuche gerade, die Histogrammegalisierung komplett zu verstehen. Ziel ist ja, dass alle Grauwerte ungefähr gleichhäufig vorkommen. Jetzt frage ich mich aber, ob dann das Bild nicht eventuell so verändert wird, dass es nicht mehr erkennbar ist? Natürlich wird das Bild verändert und die Operation kann auch nicht rückgängig gemacht werden. Aber wie genau stellt man sich das denn vor?
Ich wollte mal ein kleines Beispiel ausprobieren mit 4 Pixeln weiß, 8 Pixeln grau und 2 Pixeln schwarz (hab' einfach auf mein Schmierblatt gezeichnet und da kam dann so was bei raus, wollte halt nur wenige Grauwerte, weil ich es dann besser zeichnen kann).
Ich hätte also die relativen Häufigkeiten:
[mm] p(w)=\br{4}{14}\approx [/mm] 0,28
[mm] p(g)=\br{8}{14}\approx [/mm] 0,57
[mm] p(s)=\br{2}{14}\approx [/mm] 0,14
Wenn ich nun die Formel aus Wikipedia nehme für die kumulativen Häufigkeiten (wir haben statt der Summe ein Integral da stehen, ich nehme an, die Summe ist die diskrete Variante?), erhalte ich:
T(w)=0,28
T(g)=0,28+0,57=0,85
T(s)=0,28+0,57+0,14=0,99 (müsste natürlich exakt 1 sein...)
Und was mache ich jetzt? Jetzt müsste ich das ja noch mit G multiplizieren - ist es egal, was G ist? Ich habe mal G=3 genommen, dann erhalte ich:
[mm] T_{equal}(w)=0,84
[/mm]
[mm] T_{equal}(g)=2,55
[/mm]
[mm] T_{equal}(s)=2,97
[/mm]
Und was bedeutet das jetzt?? Bzw. wie sieht dann jetzt mein Histogramm aus? Und wie sieht das Bild aus?
Wenn man sich das, von dem Ausgangsbild ausgehend überlegt, sollten ja dann alle Grauwerte gleichhäufig vorkommen. Da ich drei Grauwerte habe, müsste dann ja alles [mm] \br{14}{3} [/mm] oft vorkommen. Aber dann sähe mein Bild ja ganz anders aus, und vor allem: wo lese ich diesen Wert aus den Werten oben ab???
Viele Grüße
Bastiane
|
|
|
|
Hallo,
zuerst nur eine kleine Anmerkung: Es ist für mich persönlich einfacher, wenn 0 den dunkelsten und 1 den hellsten Grauwert bezeichnet, aber sei's drum.
> Jetzt müsste ich das ja noch mit G multiplizieren - ist es egal, was G ist?
Nein! Das ist der größte Grauwert. In deinem Fall wäre das schwarz=1, für gewöhnlich weiß=1. Du benutzt ja die diskrete Grauwertmenge {0, 0.5, 1}, in der Wikipedia mit {0, ..., G} abgekürzt. Also ist hier G=1.
Damit kommst du hier genau auf die kumulierten Häufigkeiten.
Für jedes Pixel mit dem Grauwert g setzt erhältst du den Pixelwert g' im äqualisierten Bild durch: [mm] $g'=T_{equal}(g)$. [/mm]
Also wird aus deinem Weiß=0, ein Hellgrau=0,28 usw.
> sollten ja dann alle Grauwerte gleichhäufig vorkommen.
Nun ja, das klappt nur im Kontinuierlichen. Du siehst ja selbst, dass du 14 Pixel hast. Die lassen sich schlecht dritteln. Deshalb sind die Grauwerte im Histogramm im Diskreten immer nur näherungsweise gleichverteilt!
Gruß
Martin
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 23:34 Mi 31.01.2007 | Autor: | Bastiane |
Hallo Martin!
Super, dass du dich mit so etwas auskennst - hoffentlich kannst du mir demnächst evtl. noch mehr beantworten.
Das mit der 0 für schwarz hatte ich gar nicht beachtet. Da ich ja statt 0 und 1 w für weiß und s für schwarz geschrieben hatte, da hätte ich auch gar nicht gewusst, dass ich dann für grau 0,5 nehmen muss. Und ich muss auch erst immer mal schwer nachdenken, ob die 0 jetzt schwarz oder weiß ist. Aber werde mich in Zukunft dran halten. Danke für die Bemerkung.
Das mit dem G ist jetzt klar - danke.
Aber eine Verständnisfrage habe ich noch:
Verstehe ich das jetzt richtig, dass alle Pixel, die vorher die gleiche Farbe haben, sie auch nachher noch haben? Es werden also nicht einige mittelgraue besonders hell und andere mittelgraue nur etwas heller (wenn wir mal von mehreren Grauwerten ausgehen)?
Denn wenn ich bei meinem Beispiel mal sage, dass es vier schwarze, vier weiße und vier graue Pixel gibt, käme ja in gewisser Weise jede "Farbe" genauso häufig vor. Aber wenn ich das dafür mal durchrechne, erhalte ich für grau einen Wert von 0,33.
Viele Grüße
Bastiane
|
|
|
|
|
Hallo,
> Da ich ja statt 0 und 1 w für weiß und s für schwarz geschrieben hatte, da hätte ich auch gar nicht gewusst, dass ich dann für grau 0,5 nehmen muss.
Na ja, typischerweise nimmt man bei der Diskretisierung der Farben/Grauwerte eine äquidistante Skala. Bei 0 und 1 als Grenzwerte bleibt ja nur 0,5 in der Mitte. Das Ziel ist dann, die Abstände "optimal" (je nach Gütekriterium) zu wählen.
> Verstehe ich das jetzt richtig, dass alle Pixel, die vorher die gleiche Farbe haben, sie auch nachher noch haben?
Genau! Diese Art der Bildverbesserung ist rein histogrammbasiert. Hier hängen die Grauwerte im verbesserten Bild nur von den Originalgrauwerten ab, nicht etwas von der Pixelposition oder der Nachbarschaft. Letztere wären Filteroperationen.
> Denn wenn ich bei meinem Beispiel mal sage, dass es vier schwarze, vier weiße und vier graue Pixel gibt, käme ja in gewisser Weise jede "Farbe" genauso häufig vor. Aber wenn ich das dafür mal durchrechne, erhalte ich für grau einen Wert von 0,33.
Es fällt auf, dass der Grauwert 0 nie im verbesserten Bild vorkommen kann, weil der Originalgrauwert ja die Häufigkeit 0 haben müsste. Das ist so eine kleine Macke dieser Histogrammmethoden (3 ms?). Man müsste die Grauwerte im Zielbild vielleicht noch so normieren, dass der kleinste Grauwert bei 0 liegt. Aber ich weiß nicht, ob das dieser Methode nicht widerspricht, also halte ich lieber die Klappe.
Gruß
Martin
|
|
|
|