Over the years, numerous methods have been proposed separately for restoring images corrupted by either impulse noise or Gaussian noise. Nevertheless, because of the distinct nature of both types of degradation processes, not much work has been developed to effectively remove mixed noise from images, a problem that is commonly found in practice. To alleviate this problem, we propose a two-stage approach based on impulse detectors and detail-preserving regularization. We employ the detectors to identify impulse noise, and then restore them and smooth the remaining Gaussian noise simultaneously based on regularization framework. A novel error norm that can adaptively mimick traditional l1 and l2 norms is used in the regularization process. This adaptivity enables our approach to be universally capable of removing various degrees of impulse noise and mixed noise, while preserving fine image details well. Extensive experiments have been conducted to test the proposed approach and shown its improvements over the algorithms existing in the literature.