Noise Level Estimation from a Single Image

It can precisely estimate noise level from a single image.
8K Downloads
Updated 3 Feb 2015

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

NoiseLevel estimates noise level of input single noisy image.
[nlevel th num] = NoiseLevel(img,patchsize,decim,conf,itr)
Output parameters
nlevel: estimated noise levels.
th: threshold to extract weak texture patches at the last iteration.
num: number of extracted weak texture patches at the last iteration.

The dimension output parameters is same to channels of the input image.
Input parameters
img: input single image
patchsize (optional): patch size (default: 7)
decim (optional): decimation factor. If you put large number, the calculation will be accelerated. (default: 0)
conf (optional): confidence interval to determin the threshold for the weak texture. In this algorithm, this value is usually set the value very close to one. (default: 0.99)
itr (optional): number of iteration. (default: 3)

Example:
img = double(imread('img.png'));
nlevel = NoiseLevel(img);

Web page:
http://bit.ly/NLest (http://www.ok.ctrl.titech.ac.jp/res/NLE/noise_level.html)

Reference:
Xinhao Liu, Masayuki Tanaka and Masatoshi Okutomi
Noise Level Estimation Using Weak Textured Patches of a Single Noisy Image
IEEE International Conference on Image Processing (ICIP), 2012.

Xinhao Liu, Masayuki Tanaka and Masatoshi Okutomi,
Single-image Noise Level Estimation for Blind Denoising,
IEEE Transactions on Image Processing, Vol.22, No.12, pp.5226-5237, 2013.

Cite As

Masayuki Tanaka (2024). Noise Level Estimation from a Single Image (https://www.mathworks.com/matlabcentral/fileexchange/36921-noise-level-estimation-from-a-single-image), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.8.0.0

Added the functionality of generating the mask for the weak-texture.

1.7.0.0

Bug fixed.

1.6.0.0

Add new reference to description.

1.5.0.0

Debugged threshold calculation and change default parameter.

1.4.0.0

Debugged for zero-iteration case.

1.3.0.0

Added the web information.

1.1.0.0

Added help.

1.0.0.0