MeasureGaussianNoise
Computes an estimation of a gaussian noise standard deviation in an image.
Access to parameter description
This algorithm filters the input image using a zero mean operator that is almost insensitive to image structures. The variance of the result is an estimate of the noise variance. The kernel for filtering the image is K=[1−21−24−21−21] which has a zero mean and variance of 36 times the image noise variance. In 2D, the variance of the noise n contained in the image I can then be estimated as σ2n=136(M−2)(N−2)M∑i=1N∑j=1(I(i,j)∗K)2 where M is the image height in pixels, N the image width in pixels and I(i,j)∗K is the convolution of the image I by the kernel K at the position (i,j).
Reference
J. Immerkoer, "Fast Noise Variance Estimation". Computer Vision and Image Understanding. vol. 64, no. 2, pp. 300-302, Sep. 1996.
See also
Access to parameter description
This algorithm filters the input image using a zero mean operator that is almost insensitive to image structures. The variance of the result is an estimate of the noise variance. The kernel for filtering the image is K=[1−21−24−21−21] which has a zero mean and variance of 36 times the image noise variance. In 2D, the variance of the noise n contained in the image I can then be estimated as σ2n=136(M−2)(N−2)M∑i=1N∑j=1(I(i,j)∗K)2 where M is the image height in pixels, N the image width in pixels and I(i,j)∗K is the convolution of the image I by the kernel K at the position (i,j).
Reference
J. Immerkoer, "Fast Noise Variance Estimation". Computer Vision and Image Understanding. vol. 64, no. 2, pp. 300-302, Sep. 1996.
See also
Function Syntax
This function returns outputMeasurement.
// Function prototype
GaussianNoiseMsr::Ptr measureGaussianNoise( std::shared_ptr< iolink::ImageView > inputImage, GaussianNoiseMsr::Ptr outputMeasurement = NULL );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
![]() |
inputImage |
The input image. | Image | Binary, Label, Grayscale or Multispectral | nullptr |
![]() |
outputMeasurement |
The output measurement result. | GaussianNoiseMsr | nullptr |
Object Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); MeasureGaussianNoise measureGaussianNoiseAlgo; measureGaussianNoiseAlgo.setInputImage( polystyrene ); measureGaussianNoiseAlgo.execute(); std::cout << "standardDeviation: " << measureGaussianNoiseAlgo.outputMeasurement()->standardDeviation( 0 ) ;
Function Examples
std::shared_ptr< iolink::ImageView > polystyrene = ioformat::readImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene.tif" ); auto result = measureGaussianNoise( polystyrene ); std::cout << "standardDeviation: " << result->standardDeviation( 0 ) ;