KlassenKlassenKlassenKlassen | | | | Operatoren

estimate_noiseestimate_noiseEstimateNoiseestimate_noiseEstimateNoiseEstimateNoise (Operator)

Name

estimate_noiseestimate_noiseEstimateNoiseestimate_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)

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

Herror estimate_noise(Hobject Image, const HTuple& Method, const HTuple& Percent, HTuple* Sigma)

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

HTuple HImageArray::EstimateNoise(const HTuple& Method, const HTuple& Percent) const

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

void HOperatorSetX.EstimateNoise(
[in] IHUntypedObjectX* Image, [in] VARIANT Method, [in] VARIANT Percent, [out] VARIANT* Sigma)

VARIANT HImageX.EstimateNoise(
[in] BSTR Method, [in] VARIANT Percent)

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_noiseEstimateNoiseestimate_noiseEstimateNoiseEstimateNoise schätzt die Standardabweichung von additivem Rauschen innerhalb des Definitionsbereiches des in ImageImageImageImageImageimage ü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""foerstner" und 'immerkaer'"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""least_squares" und 'mean'"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""foerstner" die genauesten Ergebnisse liefert, während die Methode 'immerkaer'"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 MethodMethodMethodMethodMethodmethod, 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.

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte / uint2)

Eingabebild.

MethodMethodMethodMethodMethodmethod (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Methode zur Schätzung des Bildrauschens.

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

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

PercentPercentPercentPercentPercentpercent (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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.

SigmaSigmaSigmaSigmaSigmasigma (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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_noiseEstimateNoiseestimate_noiseEstimateNoiseEstimateNoise 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_imageGrabImagegrab_imageGrabImageGrabImage, grab_image_asyncgrab_image_asyncGrabImageAsyncgrab_image_asyncGrabImageAsyncGrabImageAsync, read_imageread_imageReadImageread_imageReadImageReadImage, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain

Nachfolger

binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, mean_imagemean_imageMeanImagemean_imageMeanImageMeanImage, smooth_imagesmooth_imageSmoothImagesmooth_imageSmoothImageSmoothImage

Alternativen

noise_distribution_meannoise_distribution_meanNoiseDistributionMeannoise_distribution_meanNoiseDistributionMeanNoiseDistributionMean, intensityintensityIntensityintensityIntensityIntensity, min_max_graymin_max_grayMinMaxGraymin_max_grayMinMaxGrayMinMaxGray

Siehe auch

gauss_distributiongauss_distributionGaussDistributiongauss_distributionGaussDistributionGaussDistribution, add_noise_distributionadd_noise_distributionAddNoiseDistributionadd_noise_distributionAddNoiseDistributionAddNoiseDistribution

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


KlassenKlassenKlassenKlassen | | | | Operatoren