Noise estimation in an image

2 次查看(过去 30 天)
scaramanga
scaramanga 2012-1-11
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
By the way, estimateNoise yields the standard deviation (and not the variance).

Community Treasure Hunt

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

Start Hunting!

Translated by