Jump to content

Calibration and 2D Homography

Featured Replies

Hi there,

 

I am trying to implement a calbration phase to an application I have already written in C++, which uses the Wiimote and sensor bar to move a crosshair around the application window. Wherever I turn, everywhere says to use 2D Homography - a process which warps one rectangular area onto another. I would be mapping a user-defined active area of the Wiimote IR Sensor onto screen coordinates.

 

Potentially, as the active area is user-defined, it could be one screwed up trapezoid, making any other method of calibration that I know of close to impossible.

 

2D Homography involves creating a homography matrix H, which can be applied to any point (P) on the active area to transform it into the corresponding point on the screen area (P').

 

I have looked in several places for an explanation of how to create the homography matrix, and it is always just a bit too complicated for me to get my head around. Here I what I (think I) know:

 

The 4 point corrspondences which I want to use will be the 4 corners of the active area, and their respective 4 points on the screen. I know I must somehow create 2 transformations for each of these pairs (I assume one for active area -> screen, one screen-> active area) and store them in the homography matrix H, giving 8 'degrees of freedom'. This is where I am lost; how do you store an equation in a matrix? Some sites talk about the 'rank' of a matrix 'A', which seems to have come out of nowhere!

 

I have experience with matrices and vector transformations, but nothing really in-depth. If someone could explain it in slightly more lamen's terms, I'd greatly appreciate it! Also if you're feeling generous and could provide some psuedocode I would be overjoyed! :D

 

Thanks in advance, Simon.

Archived

This topic is now archived and is closed to further replies.

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.