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