We propose a two-stage method for removing impulse noise in images. In the first stage, we use a novel noise detector, called the augmentation-of-ordered-difference detector, to identify pixels that are likely to be corrupted by impulse noise. This detector achieves accurate impulse-noise detection by augmenting the difference between the center pixel's intensity value and its neighbors' intensity values in a local window. In the second stage, noise pixels are restored using an iterative and adaptive median-based filter. This filter is adaptive according to the number of noise pixels in the filtering window. Thus, noise-free pixels are unaltered, and noise pixels are filtered by the adaptive filter. Simulation results indicate that the proposed method is better than other impulse-noise reduction filters in suppressing impulse noise and preserving image details.