Is there any software to take an existing picture and to raise up the camera position a little bit for changing the perspectives and the software will recognize how to fill the missing parts?

  • 9
    Have you been watching CSI? ;) – Dreamager Sep 19 '11 at 20:48
  • photosynth.net/Background.aspx – mattdm Sep 19 '11 at 22:24
  • 1
    I don't think this question is off-topic, seems like a common problem in perspective correction (which is often part of post-processing in architecture photography) – Imre Sep 19 '11 at 23:06
  • 1
    I'm with Imre here...why so many votes for off-topic? Its clearly related to photography. I find its especially on topic given new advances with cameras like the lytro, which DOES allow some perspective correction in post-processing (the technology there will likely persist and improve as well.) – jrista Sep 20 '11 at 1:59

There's no way in general to do this, the depth information that is lost when a scene is projected onto the sensor cannot be replaced.

However if you're willing to make certain assumptions (such as converging lines in the image representing parrallel lines in 3-D space) you can construct a model that allows you to change perspective (this still leaves the problem of filling in the gaps that result from occlusion).

As far as I know there's no commercial software available to do this, however I've seen research papers which demonstrated this being done to classic paintings, with animations showing the camera position changing.


I think the short answer is no. This can't be done with a single photo no matter how many times american crime shows show it happening (This being the most hilarious example I've seen http://www.youtube.com/watch?v=Vxq9yj2pVWk&feature=player_detailpage#t=70s ).

If however you take a series of images completely covering all objects in a scene then it would be possible to map out a 3d scene with textures and move around the camera view within that.

With a single image from a standard digital camera though, no. Not without magic, or are happy with blank spaces where there is no info.


If by existing picture, you mean a single image, then the answer has to be no. The information encoded in the picture when it was taken is fixed. Changing the camera position in real life changes the information in the picture. Thus it is impossible to post manipulate a single image in order to change the camera position, as that would involve creating information that you don't have.

Now it may be possible to simulate changing the position of the camera through the use of software through a process like:

  1. Analyse the 2D image and extract recognizable features.
  2. Build a 3D model of those features that results in the original 2D image when projected from the original POV.
  3. Have the 3D model fill in guesses of what the hidden surfaces look like.
  4. Project the model onto a new 2D image from a different POV.

Step 3 is where the information (that you don't have) gets invented.

As an extreme example. Consider a picture of an elephant taken to show its profile. From that image you can't tell that the other side of the elephant was painted hot pink. So no matter how fancy your 3D manipulation software is, it will never be able to create a model that has one side of the elephant being hot pink. Thus the resultant photos showing the elephant from different angles will always be the figment of someones imagination.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.