In this paper a new image inpainting scheme using bilateral filters is proposed. Since in the digital image inpainting pixels’ values in a damaged region are unknown and are needed in calculation of weights according to the range filter of bilateral filters, in the proposed scheme we substitute the difference between two gray level values in the range filter by multiplication of two vectors: direction between two pixels and gradient direction of known pixel in the neighborhood of damaged pixels. The algorithm is iterative, fast and simple to implement. In addition, to achieve a better performance, the number of iterations is adaptively determined according to the region type (structural or textural) using the local variance. To evaluate the performance of the proposed method, several comparative experiments are performed. Experimental results confirm the effectiveness of the proposed algorithm.