In image denoising, high-frequency components are more notable to the human eyes than low-frequency components. While high-frequency components contain more variations and represent the detailed textures, the reconstructions of these components are much harder and it is a remaining challenge in image denoising. In this study, a novel edge-preserving image denoising algorithm is proposed, it treats the low- and high-frequency components of the image separately. For restoration of high-frequency components, a neighbourhood regression method is proposed. An energy minimisation function is developed to combine the low- and high-frequency components into one model. Experiments show that the proposed method outperforms the state-of-the-art methods in peak signal-to-noise ratio, edges preservation and visual performance.