I've a camera at known location and rotation from where an image of a model is rendered (Top left of the figure).enter image description here The camera is randomly translated and rotated to a very close unknown location and rotation (bottom left of the figure) and another image is rendered again. My task is to find the final camera location and rotation without using the values of location and rotation from the blender directly, but by matching the two images.

Scene information (vertices, edgelist) can be used for the 1st image, however, scene information for the 2nd image cannot be used and only the rendered image should be input.

I don't want to bias any of your thoughts, but, as a beginning though, I tried to match the lines derived by the freestyle rendering (top right and bottom right) and then matching them. However, the process of line matching and pose estimation is comprehensive and implementation in Python gets too complex. Hence, I'm asking if there's a straight forward way to do that in Blender.

  • $\begingroup$ Is this a pure image processing problem (i.e. your only inputs are the two images, perhaps the initial camera position), or can you use other data from the scene, such as object vertex coordinates, etc? $\endgroup$
    – TLousky
    Jul 23, 2017 at 21:17
  • $\begingroup$ Thanks for clarifying and I've updated the question. The data (e.g. vertex coordinate, ) from the scene of the first image of the known location can be used, but for the second image, scene data cannot be used. As the scene information of the second image can not be used, the matching has to be image processing. But, that's what I think, and I want to know view of other. $\endgroup$
    – Debaditya
    Jul 24, 2017 at 2:45
  • 1
    $\begingroup$ If you know the camera and lens used, you can try motion tracking. Set a tracker and place it on a known spot , then for the second image move the tracker to the location of that same spot on the second image. Repeat that for at least 7 more trackers. Then solve the scene. $\endgroup$
    – user1853
    Jul 24, 2017 at 3:14
  • $\begingroup$ thanks @cegaton for the suggestion. However, are you suggesting to select the points manually for tracking? $\endgroup$
    – Debaditya
    Jul 26, 2017 at 4:56
  • $\begingroup$ Yes, auto tracking is likely not going to work... but what do I know... $\endgroup$
    – user1853
    Jul 26, 2017 at 5:02


You must log in to answer this question.

Browse other questions tagged .