estimate_noiseestimate_noiseEstimateNoiseEstimateNoise (Operator)

Name

estimate_noiseestimate_noiseEstimateNoiseEstimateNoise — Schätzung des Bildrauschens aus einem Bild.

Signatur

estimate_noise(Image : : Method, Percent : Sigma)

Herror estimate_noise(const Hobject Image, const char* Method, double Percent, double* Sigma)

Herror T_estimate_noise(const Hobject Image, const Htuple Method, const Htuple Percent, Htuple* Sigma)

void EstimateNoise(const HObject& Image, const HTuple& Method, const HTuple& Percent, HTuple* Sigma)

HTuple HImage::EstimateNoise(const HString& Method, const HTuple& Percent) const

double HImage::EstimateNoise(const HString& Method, double Percent) const

double HImage::EstimateNoise(const char* Method, double Percent) const

double HImage::EstimateNoise(const wchar_t* Method, double Percent) const   (Nur Windows)

static void HOperatorSet.EstimateNoise(HObject image, HTuple method, HTuple percent, out HTuple sigma)

HTuple HImage.EstimateNoise(string method, HTuple percent)

double HImage.EstimateNoise(string method, double percent)

Beschreibung

Der Operator estimate_noiseestimate_noiseEstimateNoiseEstimateNoiseEstimateNoise schätzt die Standardabweichung von additivem Rauschen innerhalb des Definitionsbereiches des in ImageImageImageImageimage übergebenen Bildes.

In folgenden Anwendungsfällen ist der Operator hilfreich:

Die folgenden vier Methoden zur Schätzung des Rauschens stehen zur Verfügung:

Es gilt zu beachten, dass die Methoden 'foerstner'"foerstner""foerstner""foerstner""foerstner" und 'immerkaer'"immerkaer""immerkaer""immerkaer""immerkaer" von einem Gaußverteilten Bildrauschen ausgehen, während die Methoden 'least_squares'"least_squares""least_squares""least_squares""least_squares" und 'mean'"mean""mean""mean""mean" auch auf Bilder mit beliebig verteiltem Rauschen angewendet werden können. Allgemein gilt, dass die Methode 'foerstner'"foerstner""foerstner""foerstner""foerstner" die genauesten Ergebnisse liefert, während die Methode 'immerkaer'"immerkaer""immerkaer""immerkaer""immerkaer" die kürzeste Berechnungszeit aufweist.

Sollte das Bildrauschen nicht zuverlässig geschätzt werden können, wird der Fehler 3175 zurückgegeben. Dies tritt insbesondere dann auf, wenn das Eingabebild nicht genügend homogene Regionen beinhaltet, das Eingabebild künstlich erzeugt wurde oder das Rauschen nicht Gaußverteilt ist. Um diesen Fehler zu vermeiden, kann es in manchen Fällen sinnvoll sein, in Abhängigkeit der verwendeten Methode MethodMethodMethodMethodmethod, eine der folgenden Änderungen vorzunehmen:

Achtung

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.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHobject (byte / uint2)

Eingabebild.

MethodMethodMethodMethodmethod (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Methode zur Schätzung des Bildrauschens.

Defaultwert: 'foerstner' "foerstner" "foerstner" "foerstner" "foerstner"

Werteliste: 'foerstner'"foerstner""foerstner""foerstner""foerstner", 'immerkaer'"immerkaer""immerkaer""immerkaer""immerkaer", 'least_squares'"least_squares""least_squares""least_squares""least_squares", 'mean'"mean""mean""mean""mean"

PercentPercentPercentPercentpercent (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Prozentsatz der verwendeten Bildpunkte.

Defaultwert: 20

Wertevorschläge: 1, 2, 5, 7, 10, 15, 20, 30, 40, 50

Restriktion: 0 < Percent && Percent <= 50.

SigmaSigmaSigmaSigmasigma (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Standardabweichung des Bildrauschens.

Zusicherung: Sigma >= 0

Beispiel (HDevelop)

read_image (Image, 'combine')
estimate_noise (ImageNoise, 'foerstner', 20, SigmaFoerstner)
estimate_noise (ImageNoise, 'immerkaer', 20, SigmaImmerkaer)
estimate_noise (ImageNoise, 'least_squares', 20, SigmaLeastSquares)
estimate_noise (ImageNoise, 'mean', 20, SigmaMean)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert estimate_noiseestimate_noiseEstimateNoiseEstimateNoiseEstimateNoise den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt. Konnte das Rauschen nicht zuverlässig geschätzt werden, wird die Fehlermeldung 3175 zurückgeliefert.

Vorgänger

grab_imagegrab_imageGrabImageGrabImageGrabImage, grab_image_asyncgrab_image_asyncGrabImageAsyncGrabImageAsyncGrabImageAsync, read_imageread_imageReadImageReadImageReadImage, reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain

Nachfolger

binomial_filterbinomial_filterBinomialFilterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFilterGaussFilterGaussFilter, mean_imagemean_imageMeanImageMeanImageMeanImage, smooth_imagesmooth_imageSmoothImageSmoothImageSmoothImage

Alternativen

noise_distribution_meannoise_distribution_meanNoiseDistributionMeanNoiseDistributionMeanNoiseDistributionMean, intensityintensityIntensityIntensityIntensity, min_max_graymin_max_grayMinMaxGrayMinMaxGrayMinMaxGray

Siehe auch

gauss_distributiongauss_distributionGaussDistributionGaussDistributionGaussDistribution, add_noise_distributionadd_noise_distributionAddNoiseDistributionAddNoiseDistributionAddNoiseDistribution

Literatur

W. Förstner: „Image Preprocessing for Feature Extraction in Digital Intensity, Color and Range Images„, Springer Lecture Notes on Earth Sciences, Summer School on Data Analysis and the Statistical Foundations of Geomatics, 1999
J. Immerkaer: „Fast Noise Variance Estimation„, Computer Vision and Image Understanding, Vol. 64, No. 2, pp. 300-302, 1996

Modul

Foundation