Gaußglocke mit Matlab als Bild < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 23:34 Mo 08.01.2007 | Autor: | Kyaha |
Aufgabe | Erstelle ein Intensitätsbild mit der Kantenlänge 2*a x 2*a mit a = 200.
Gewichte jedes Pixel mit einer Gaußglocke mit dem Zentrum Z(a|a) und Sigma = a. |
Das eigentliche Problem ist, daß ich Probleme habe die Gaußglocke korrekt zu berechnen.
Eigenlich sähe das in diesem Falle mit x und y Koordinaten doch so aus:
[mm]
g(x,y,\sigma) = \frac{1}{2*\pi*\sigma^2}*e^{-\frac{1}{2} * \frac{(x^2 + y^2)}{2*\sigma^2}}
[/mm]
In der Umsetzung habe ich aber festgestellt, daß der Wert der Gaußglocke doch immer serh gering ist und nur dann einigermaßen nützlich scheint, wenn ich die Normalisierung [mm]\frac{1}{2*\pi*\sigma^2}[/mm] weglasse. Somit erhalte ich Werte im Bereich von 0 bis 1.
Zur Berechnung habe ich jetzt einfach folgendes gemacht:
[mm]
val(x,y) = 255 * \frac{1}{2*\pi*\sigma^2}*e^{-\frac{1}{2} * \frac{((x-a)^2 + (y-a)^2)}{2*\sigma^2}} [/mm]
Demnach würde das Bild im Zentrum, also dort wie Ellipse besonders hoch ist (Gaussglocke gen 1 geht) mit einem Grauwert von 255 besonders hell sein. Und je weiter man nach aussen kommt (gen Rand des Bildes), desto dunkler wird das Pixel dargestellt.
Es scheint mir die Lösung zu sein, aber ich bin ein wenig verwirrt, warum ich an dieser Stelle die Normalisierung weglassen muß.
Habe ich ein Denkfehler irgendwo begangen? Wenn nicht, warum lasse ich die Normalisierung weg?
Besten Dank im voraus
Grüße
Kyaha
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo,
eine wichtige Eigenschaft der Gaußglocke ist, dass das Integral über den gesamten Definitionsbereich gerade 1 ergeben soll. Dadurch wird sie durch den Normalisierungsfaktor recht niedrig.
Wenn du nun dein Bild mit der Gaußglocke (inkl. Normierung) gewichtest, dann bekommst du ein korrektes Ergebnis, nur dass es für das menschliche Auge nicht so gut ist, weil der Dynamikbereich viel kleiner ist.
Du kannst das Ergebnis so lassen und nur die Darstellung anpassen, z.B. indem du den minimalen und den maximalen Grauwert berücksichtigst:
imshow(neues_Bild, [kleinster_Wert größter_Wert]);
Oder du lässt direkt zu Anfang den Normierungsfaktor der Gaußglocke weg. Etwas korrekter scheint mir aber meine Lösung. Am Ende sieht es eh gleich aus.
Gruß
Martin
|
|
|
|