title: Fundamental understanding of tvecs rvecs in OpenCV-ArUco
body: <p>I want to use <strong>ArUco</strong> to find the "space coordinates" of a marker. 
  I have problems understanding the <code>tvecs</code> and <code>rvecs</code>. I came so far as to the <code>tvecs</code> are the translation and the <code>rvecs</code> are for rotation. But how are they oriented, in which order are they written in the code, or how do I orient them?</p>
  
  <p><a href="https://i.stack.imgur.com/jjTTc.png" rel="noreferrer">Here is a little sketch of the setup.</a> I have a camera (laptop webcam just drawn to illustrate the orientation of the camera) at the position <em>X</em>,<em>Y</em>,<em>Z</em>,  the Camera is oriented, which can be described with angle <em>a</em> around <em>X</em>, angle <em>b</em> around <em>Y</em>, angle <em>c</em> around <em>Z</em> (angles in Rad). </p>
  
  <p>So if my camera is stationary I would take different pictures of the ChArUco Boards and give the camera calibration algorithm the <code>tvecs_camerapos</code> (<em>Z</em>,<em>Y</em>,<em>X</em>) and the <code>rvecs_camerapos</code> (<em>c</em>,<em>b</em>,<em>a</em>). I get the cameraMatrix, <code>distCoeffs</code> and <code>tvecs_cameracalib</code>, <code>rvecs_cameracalib</code>. <code>t/rvecs_camerapos</code> and <code>t/rvecs_cameracalib</code> are different which I find weird. </p>
  
  <ul>
  <li>Is this nomination/order of t/rvecs correct?</li>
  <li>Should I use <code>camerapos</code> or <code>cameracalib</code> for pose estimation if the camera does not move? </li>
  </ul>
  
  <p>I think <code>t/rvecs_cameracalib</code> is negligible because I am only interested in the intrinsic parameters of the camera calibration algorithm.</p>
  
  <p>Now I want to find the <strong><em>X</em>,<em>Y</em>,<em>Z</em> position of the marker</strong>, I use <code>aruco.estimatePoseSingleMarkers</code> with <code>t/rvecs_camerapos</code> and retrive <code>t/rvecs_markerpos</code>. The <code>tvecs_markerpos</code> don't match my expected values. </p>
  
  <ul>
  <li>Do I need a transformation of <code>t/rvecs_markerpos</code> to find <em>X</em>,<em>Y</em>,<em>Z</em> of the Marker? </li>
  <li>Where is my misconception?</li>
  </ul>