In der Formel oben gibt es diese "standard deviation", da verstehe ich nicht so ganz was das ist, bzw wie diese sich ergibt.. Ich würde den GaussianBlur gern einfach so ähnlich wie in Photoshop haben, das man einen Radius angibt und dementsprechend das Bild geblur'ed wird.
Ich denke der Radius ergibt sich einfach aus dem x in der obersten Formel, also wenn ich einen Radius von 5 habe, geht der x-wert von -5 bis +5.
Aber, egal wie hoch ich den Radius dann einstelle, das bild wird kaum unschärfer. Das ist aber wenn man sich das was als Kernel rauskommt anschaut auch nicht verwunderlich... alles ausser die mittleren drei werte sind zahlen niedriger als 0.01..
Hab schon mit der "standard deviation" rumgespielt, aber irgendwie bekomme ich keinen brauchbareren Kernel heraus.
Weiß jemand wie Photoshop den Kernel für den GaussBlur berechnet?
Schon http://wiki.delphigl.com/index.php/shader_blur2 angeschaut? Die Gauss-Funktion basiert auf der e-Funktion und wird daher niemals Null. Streng genommen musst du sie immer von -oo bis oo auswerten. Trotzdem, das Sigma in der Gauss-Funktion ist im wesentlichen der Radius, nur eben nicht 1:1. Lass dir die Funktion ausgeben und dann musst du überlegen wo die Werte so klein sind das du sie abschneidest. Im obigen Shader habe ich sigma = 3.2 für einen -5...5 Kernel genommen.
Zitat:
alles ausser die mittleren drei werte sind zahlen niedriger als 0.01..
Zeig mal deinen Quellcode, vielleicht wertest du ja die Funktion falsch aus oder sowas.
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.