Processing math: 100%
ImageDev

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=[121242121] 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(M2)(N2)Mi=1Nj=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
input
inputImage
The input image. Image Binary, Label, Grayscale or Multispectral nullptr
output
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 ) ;