The problem of recovering full-color images from a noisy and color-sampled observation is considered in this paper. The noise in imaging sensors corrupts the color filter array (CFA) and introduces artifacts during the color interpolation step. Instead of filtering the noise before or after the color interpolation step, we remove the noise during the color interpolation step. This allows us to obtain a color interpolated image without noise and artifacts especially along the edges and in the detail of the image. Color interpolation is carried out on the weighted color difference domain to consider cross-channel correlation. In order to avoid artifacts in high frequency regions and improve the performance, an edge indicator function is used and directions of edges are considered in the proposed interpolation method. Interpolation artifacts are removed by the modified filtering on color difference domain. Experimental results illustrate the effectiveness of the proposed method.