SigmaSpatialSigmaSpatialSigmaSpatialSigmaSpatialSigmaSpatialsigmaSpatial definiert die Größe der Filtermaske und korrespondiert
mit der Standardabweichung eines gewöhnlichen Gaussfilters.
Größere Werte erhöhen den Einflussbereich des Filters und führen dazu,
dass weniger Details erhalten bleiben.
Beispiele von lokalen Filtermasken abhängig von ImageJointImageJointImageJointImageJointImageJointimageJoint:
Links: In homogenen Bereichen entspricht die Filtermaske einer
Gaussglocke.
Mitte: Die Filtermaske passt sich der Linie an. Das heißt, nur dunkle
Pixel werden geglättet, die Kanten bleiben erhalten.
Rechts: Die Filtermaske ähnelt der Ecke. Man beachte, dass sie über den
Schatten in Bereiche mit ähnlichen Grauwerten hineinragt.
Die folgenden Beispiele zeigen den Einfluss von SigmaRangeSigmaRangeSigmaRangeSigmaRangeSigmaRangesigmaRange auf
einem künstlichen Bild. In diesem Bild liegt das Rauschlevel bei 10
Grauwerten, die linke Kante hat einen Kontrast von 50 Grauwerten,
die rechte Kante hat einen Kontrast von 100 Grauwerten.
Die gelbe Linie zeigt das Grauwertprofil eines horizontalen Querschnitts.
Per Default verwendet
bilateral_filterbilateral_filterBilateralFilterbilateral_filterBilateralFilterBilateralFilter einen Nährungsalgorithmus, der nur eine
Teilmenge von abgetasteten Punkten für die Berechnung der lokalen
Filtermasken verwendet.
Mit 'sampling_method'"sampling_method""sampling_method""sampling_method""sampling_method""sampling_method" kann die verwendete Abtastmethode
ausgewählt werden. Mögliche Werte sind:
'grid'"grid""grid""grid""grid""grid" (Default)
Verwendet ein reguläres Gitter zur
Abtastung der Filtermasken.
Verwendet eine Poisson-Disk-Abtastung.
Diese Methode ist langsamer als 'grid'"grid""grid""grid""grid""grid", möglicherweise
liefert sie aber weniger Artefakte.
'exact'"exact""exact""exact""exact""exact"
Verwendet alle verfügbaren Punkte. Diese
Methode ist die genaueste, aber auch die langsamste.
Falls 'exact'"exact""exact""exact""exact""exact" verwendet wird, wird 'sampling_ratio'"sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio"
ignoriert.
Steuert, wie viele
Punkte für die Abtastung verwendet werden.
Durch Setzen von 'sampling_ratio'"sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio""sampling_ratio" auf 1.0 wird die
exakte Methode verwendet. Eine niedrigere Abtastrate führt zu einer
schnelleren Filterung, aber auch zu etwas ungenaueren Ergebnissen.
Empfohlene Werte: 0.25, 0.5, 0.75, 1.0
Default: 0.50
Rolling-Bilateral-Filter
bilateral_filterbilateral_filterBilateralFilterbilateral_filterBilateralFilterBilateralFilter kann iterativ aufgerufen werden. In dem Fall wird
das Ergebnis einer Iteration als Führungsbild der nächsten Iteration
verwendet. Das kann nützlich sein, z.B. um kleine Strukturen aus dem
Originalbild zu entfernen, auch wenn sie einen hohen Kontrast haben.
Das folgende Beispiel zeigt den Effekt des Rolling-Filters anhand eines
künstlichen Beispielbildes.
In diesem Bild liegt das Rauschlevel bei 10 Grauwerten, der Kontrast
zwischen dunklen und hellen Bereichen beträgt 100 Grauwerte. Der linke
helle Streifen ist 10 Pixel breit, der rechte Streifen 40 Pixel.
Die gelbe Linie zeigt das Grauwertprofil eines horizontalen Querschnitts.
* Verwenden des Rolling-Bilateral-Filter
* (verwende ein konstantes Führungsbild für die erste Iteration).
gen_image_proto (Image, ImageJoint, 128)
for I := 1 to 6 by 1
bilateral_filter (Image, ImageJoint, ImageJoint, 25, 15, [], [])
endfor
C. Tomasi, R. Manduchi: “Bilateral filtering for gray and color images“;
Sixth International Conference in Computer Vision;
S. 839-846; January 1998.
F. Banterle, M. Corsini, P. Cignoni, R. Scopigno: “A Low-Memory,
Straightforward and Fast Bilateral Filter Through Subsampling in
Spatial Domain“;
Computer Graphics Forum, no. 1, vol 31;
S. 19-23; February 2012.
G. Petschnigg, R. Szeliski, M. Agrawala, M. Cohen, H. Hoppe, K. Toyama:
“Digital Photography with Flash and No-flash Image Pairs“;
ACM Trans., no. 3, vol. 23;
S. 9; August 2004.
R. Bridson: “Fast Poisson Disk Sampling in Arbitrary Dimensions“;
ACM SIGGRAPH 2007 Sketches, no. 22;
2007.