Noise estimation in an image

Hello,
When I want to estimate the noise variance of an image, I use to select an homogeneous region and compute the variance in that area. But I found another way to compute it in the web that I don't really understand and which yields the same results :
function [sigma,eps1]=estimateNoise(im)
h=zeros(3,3); h(2,2)=1;
h(2,1)=-1/4; h(2,3)=-1/4;
h(1,2)=-1/4; h(1,3)=-1/4;
f=sqrt(4/5);
eps1=f*imfilter(im,h,'replicate');
sigma=sqrt(1/numel(im)*sum(eps1(:).^2));
Can someone explain why is it the same ?
Regards

回答(1 个)

scaramanga
scaramanga 2012-1-11

0 个投票

By the way, estimateNoise yields the standard deviation (and not the variance).

提问:

2012-1-11

Community Treasure Hunt

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

Start Hunting!

Translated by