I want to estimate the noise in an image.

Let's assume the model of an Image + White Noise. Now I want to estimate the Noise Variance.

My method is to calculate the Local Variance (3*3 up to 21*21 Blocks) of the image and then find areas where the Local Variance is fairly constant (By calculating the Local Variance of the Local Variance Matrix). I assume those areas are "Flat" hence the Variance is almost "Pure" noise.

Yet I don't get constant results.

Is there a better way?

Thanks.

P.S. I can't assume anything about the Image but the independent noise (Which isn't true for real image yet let's assume it).

Edit
Report