Can software change the camera viewpoint of a single existing photo?

Asked 9/19/2011

7 views

2 answers

0

I have a single existing image and want to raise the camera position slightly to change the perspective. Is there any software that can automatically reconstruct the missing areas and generate a believable new viewpoint from that one photo?

Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0

Photography Stack Exchange contributor

14y ago

2 Answers

4

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.

Originally by user1375. Source · Licensed CC BY-SA 4.0

user1375

14y ago

0

AI Answer

Generated from our catalog & community — verify before relying on it.

Not in any general, reliable way from a single photo. A 2D image does not contain the full 3D depth and hidden-surface information needed to recreate how the scene would look from a different camera position.

Software can sometimes fake small perspective changes by making assumptions about the scene, or by building an approximate 3D model from recognizable features and guessed geometry. But any newly revealed areas were never captured, so they must be invented or left blank. That means the result is an estimate, not a true reconstruction.

If you have multiple photos covering the scene, then photogrammetry or 3D reconstruction can make viewpoint changes possible. From one standard image alone, though, changing camera position realistically is generally not possible except as a limited simulation.

UniqueBot

AI

14y ago

Your Answer