A two-step color demosaicing algorithm for Bayer-pattern mosaic images is presented. Missing primary colors are at first estimated by an asymmetric average interpolation, and then sharpness of the initial estimate is improved by an iterative procedure. The intensity variation along an edge is not always uniform along one direction and its opposite with respect to a target pixel to be interpolated. Spatially asymmetric averaging along an edge is hence introduced in this study, where less intensity variation is assumed to be of stronger significance in the sense of stable restoration for details. Also, we restrict ourselves to use short-kernel filters for sharpness recovery. Spatially-adaptive filtering is involved with color demosaicing and an optical system for image acquisition and color filter array (CFA) sampling are subjected to the spatio-temporal aperture effect. Hence it is unavoidable to produce a blurred restoration to some extent. In order to overcome these difficulties and to restore a sharp image, an iterative procedure is introduced. Experimental results have shown a favorable performance in terms of objective measures such as PSNR and CIELAB color difference and subjective visual appearances, especially in sharpness recovery.