1. A method for processing images performed at a client device having a camera, display, one or more processors and memory for storing programs to be executed by the client device, comprising: capturing a first image using the camera and extracting a first subject and a first background from the first image; rendering the first background in the display; comparing the first background with a set of second backgrounds dynamically captured by the camera on the display; generating a visual or audible indicator upon determining that one of the set of second backgrounds matches the first background; in response to the visual or audible indicator, capturing a second image using the camera, the second image including a second subject; and generating a third image by combining the first image and the second image, the third image including the first subject, the second subject and the first background.