Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<blockquote> <p>when I move the marker across the table the Y and Z axis is updated, although all I want to be updated is the Z axis, because the height of the marker doesnt change only its distance to the camera.</p> </blockquote> <p>Only true when your camera's view direction is aligned with your Y axis (or Z axis). If the camera is not aligned with Y, it means the transform will apply a rotation around the X axis, hence modifying both the Y and Z coordinates of the marker.</p> <blockquote> <p>So my guess is I need a Transformation Matrix with which I multiply each point so that I have a new coordinate System which lies orthogonal on the table surface.</p> </blockquote> <p>Yes it is. After that, you will have 2 transforms:</p> <ol> <li>T_table to express marker's coordinates in the table referential,</li> <li>T_camera to express table coordinates in the camera referential.</li> </ol> <p>Finding T_camera from a single 2d image is hard because there's no depth information.</p> <p>This is known as the Pose problem -- it has been studied by -among others- Daniel DeMenthon. He developed a fast and robust algorithm to find the pose of an object:</p> <ul> <li>articles available on its <a href="http://www.cfar.umd.edu/~daniel/Site_2/Research.html" rel="nofollow noreferrer">research homepage</a>, section 4 "Model Based Object Pose" (and particularly "Model-Based Object Pose in 25 Lines of Code", 1995);</li> <li>code at <a href="http://www.cfar.umd.edu/~daniel/Site_2/Code.html" rel="nofollow noreferrer">the same place</a>, section "POSIT (C and Matlab)".</li> </ul> <p>Note that the OpenCv library offers an implementation of the DeMenthon's algorithm. This library also offers a convenient and easy-to-use interface to grab images from a webcam. It's worth a try: <a href="http://opencv.willowgarage.com/wiki/" rel="nofollow noreferrer">OpenCv homepage</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload