Algorithm for projecting 2D / 3D objects onto a plane (Augmented Reality)?

I am working on the Augmented Reality project using a marker (which is a checkerboard) that takes webcam images and inserts a 2D / 3D object into the checkerboard plane (in real time).

Using openCV, I was able to detect the corners of a checkerboard and draw it.

I used Direct3D to render the frame (using orthogonal projection), so that later I can use it to design 2d / 3d objects.

Now I'm stuck at this point. I know that there are libraries like ARToolkit, etc., but I want to understand the technique and algorithm. How to find a transformation matrix that can display a 3D object in the plane of a checkerboard?

+6
algorithm augmented-reality transformation direct3d
source share
1 answer

This article explains it well:

N. Kato and M. Billingerst. Tracking markers and calibrating hmd for a video lens augmented reality system. Augmented Reality, 1999. (IWAR 99) Proceedings. Second International Workshop IEEE and ACM, pp. 85-94, 1999. 1, 2, 7, 9

Quick explanation:

  • Find the marker frames and create 2d edges from it

  • create basic marker vectors u1, u2 using planes defined by the edges ( http://twitpic.com/4fmbsu )

  • use cross product on two base vectors u1, u2 to get the third vector u3

  • use them to build your matrix

+2
source share

All Articles