binomial_filter
— Glättung eines Bildes mit dem Binomialfilter.
binomial_filter(Image : ImageBinomial : MaskWidth, MaskHeight : )
binomial_filter
glättet das Bild Image
mit einem
Binomialfilter mit einer Maskengröße von MaskWidth
*
MaskHeight
Pixeln und liefert das geglättete Bild in
ImageBinomial
zurück. Der Binomialfilter ist eine sehr
gute Annäherung eines Gaußfilters, die extrem effizient mit
ganzzahligen Operationen berechnet werden kann. Daher ist
binomial_filter
sehr schnell. Sei m = MaskHeight
und n = MaskWidth
. Dann sind die Filterkoeffizienten
durch Binomialkoeffizienten
wie folgt gegeben:
Hierbei ist i = 0, ..., m-1 und j = 0, ..., n-1. Der Binomialfilter führt
näherungsweise dieselbe Glättung durch wie ein Gaußfilter mit
, wobei der
Einfachheit halber m = n angenommen wird. Im Detail ist der
Zusammenhang zwischen n und wie folgt:
n | |
---|---|
3 | 0.7523 |
5 | 1.0317 |
7 | 1.2505 |
9 | 1.4365 |
11 | 1.6010 |
13 | 1.7502 |
15 | 1.8876 |
17 | 2.0157 |
19 | 2.1361 |
21 | 2.2501 |
23 | 2.3586 |
25 | 2.4623 |
27 | 2.5618 |
29 | 2.6576 |
31 | 2.7500 |
33 | 2.8395 |
35 | 2.9262 |
37 | 3.0104 |
MaskHeight
und
MaskWidth
gewählt werden, stimmt der obige Zusammenhang
zwischen n und immer noch und bezieht sich auf
die Stärke der Glättung in Zeilen- und Spaltenrichtung.
binomial_filter
kann auf OpenCL Geräten ausgeführt werden.
Das Konzept der Glättungsfilter ist in der Einleitung zum Kapitel Filter / Glättung beschrieben.
Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.
Image
(input_object) (multichannel-)image(-array) →
object (byte* / uint2* / real*) *erlaubt für Compute Devices
Eingabebild.
ImageBinomial
(output_object) (multichannel-)image(-array) →
object (byte / uint2 / real)
Geglättetes Bild.
MaskWidth
(input_control) integer →
(integer)
Filterbreite.
Defaultwert: 5
Werteliste: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37
MaskHeight
(input_control) integer →
(integer)
Filterhöhe.
Defaultwert: 5
Werteliste: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37
Sind die Parameterwerte korrekt, dann liefert
binomial_filter
den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer
Eingabe (keine Eingabebilder vorhanden) lässt sich mittels
set_system('no_object_result',<Result>)
festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
regiongrowing
,
threshold
,
sub_image
,
dyn_threshold
,
auto_threshold
gauss_filter
,
smooth_image
,
derivate_gauss
,
isotropic_diffusion
mean_image
,
anisotropic_diffusion
,
sigma_image
,
gen_lowpass
Foundation