I have some photos of 3D cube. I also know the 3D pose of the cube in each photo (yaw, pitch, roll).

I want to estimate the new pose (yaw, pitch, roll) of the cube after performing 2D rotation to the photo (like 2D camera rotation).

I don't care its new position but the pose only.

So, how can I calculate the new pose of 3D object after 2D rotation?

For example:
enter image description here

After image rotation (-45 deg) - Yaw, Pitch & Roll are different enter image description here

  • $\begingroup$ If its isometric you can use the area of the sides and their centroids for starters? $\endgroup$ – beyond Jan 7 at 11:46
  • $\begingroup$ I don't have the cube shape (area, edges, surface, etc). The image is just 3D cube that tagged with yaw, pitch & roll and I need to know what are the new yaw, pitch & roll after camera rotation. $\endgroup$ – nrofis Jan 7 at 13:58
  • $\begingroup$ I see that I misunderstoof you partly. First, find the rotation of the image (this should be fairly easy). Second, convert from YPR to a rotation matrix, multiply this with the rotation, convert back to YPR (well covered, google it :) ). $\endgroup$ – beyond Jan 8 at 11:47
  • $\begingroup$ I tough about it. But multiply this with the rotation is the part that I think I have troubles with. YPR to a rotation matrix - fair, so I have 3x3 matrix. But how can I rotate it like camera rotation? $\endgroup$ – nrofis Jan 8 at 14:16
  • $\begingroup$ Rotating a 2D image would be a rotation about only one axis. $\endgroup$ – beyond Jan 8 at 15:06

Your Answer

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

Browse other questions tagged or ask your own question.