Image denoising algorithms often require their parameters to be adjusted according to the noise level. We propose a fast and reliable method for estimating image noise. The input image is assumed to be contaminated by an additive white Gaussian noise process. To exclude structures or details from contributing to the estimation of noise variance, a Sobel edge detection operator with a self-determined threshold is first applied to each image block. Then a filter operation, followed by an averaging of the convolutions over the selected blocks, provides a very accurate estimation of noise variance. We successfully combine the effectiveness of filter-based approaches with the efficiency of block-based approaches, and the simulated results demonstrate that the proposed method performs well for a variety of images over a large range of noise variances. Performance comparisons against other approaches are also provided.