Cloud identification and cloud removing are fundamental and important research issues with a wide range of applications in geodesic and remote sensing. In this paper, we introduce a novel cloud removing algorithm to generate cloud-free and even cloud shadow-free images from multi-temporal registered remote-sensing images. The basic idea of the proposed approach is to fill in the missing (i.e., cloud-covered) areas by a seamless cloning approach. For each cloud-covered area, several cloud-free corresponding areas acquired at different times are automatically selected according to the image quality and the captured time, and then a cloning technique based on solving Poisson equations is performed to modify the appearance of cloud-covered areas seamlessly. The experimental results show that the proposed approach is efficient and work well on images with persistent and extensive cloud covers.