In this paper, we are interested in the problem of estimating a discontinuous surface from noisy data. A novel procedure for this problem is proposed based on local linear kernel smoothing, in which local neighbourhoods are adapted to the local smoothness of the surface measured by the observed data. The procedure can therefore remove noise correctly in continuity regions of the surface, and preserve discontinuities at the same time. Since an image can be regarded as a surface of the image intensity function and such a surface has discontinuities at the outlines of objects, this procedure can be applied directly to image denoising. Numerical studies show that it works well in applications, compared to some existing procedures.