I want to get some feedback on how to do a proper and simple calabration for a multitouch system. I am going to try and walk you through the process and construction of the table. Here is the main setup for the table. For the most part the table is working check out latest video. The blobs are showing up and somewhat consistent. Better adjustment of IR would fix this.
This is what the projection looks like. The throw of the projection is much larger than the table top. This is where the problem I think starts. I need to align the physical touch points to the projected touch points.
To get the correct image to track I perform a warping technique. I drag the four points of a quad to the four corners of the table. This creates a 640 x 480 warped image where pixel 0,0 is the top left hand corner. I think that this works well and does the job for the most part. It is on the other hand the most processor intensive part of the application. The distortion of the image is not terrible. I have tried Stefanix’s checkerboard calibration but do not completely understand how it applies other than compensate for wide angle distortion in the camera.
More info in photo notes
So now that we have a corrected image to track I need to match the projection to the tabletop. We do a very simalar calibration, this does not feel correct but works. You drag the four points of a quad warping the openGL world to the table. This for the most part works but the distortion of the GL world is weird. There must be a better way to do this.
I have been looking into all the techniques done by other systems like TouchLib and Reactivision. Most are a four point or many point touch calibration system. I have not completely figured this out, this is where I ask for help. What is the best way to do this calibration and setup?