I am working with ArUco markers from the Python OpenCV library, and I am trying to find the angle between two markers I have attached to a bending robot (see image). The image is cropped as there is a lot of clutter in the background. I am able to detect the markers in still images taken from video footage, however I now want to compute the angle between the base of the robot (marker 2 in this case) and the tip of the robot (marker 3). I have annotated the angle θ I am trying to find in the image as well, it is the angle between the X-axis from marker 2 and the line between marker 2 and marker 3. The/my difficulty lies in that the markers are not perfectly parallel to the camera, meaning the plane the robot is bending on is at an angle which I am not aware of. The two markers are along the same plane and oriented in the same way. Thank you!
EDIT: To improve my question, I have added the full image that I am working with as well as the rvecs and tvecs of my two markers in my image. I hope the way I formatted the vectors is helpful.
Marker 2:
m2_tvec = np.array([88.18194349, 45.92650021, 174.73579493])
m2_rvec = np.array([0.71979241, -3.20812963, -0.21489815])
Marker 3:
m3_tvec = np.array([191.85975519, 148.9780962, 303.74133035])
m3_rvec = np.array([-1.43217426, 2.15352541, 0.201143075])