andrewgreendf, thanks for the recommendation of Learning OpenCV. The discussion of epipolar geometry was reassuring; I guess my completely naive thoughts weren't completely ridiculous. It looks like two non-coplanar-image-plane cameras can be mathematically aligned, and the fact that we're using static cameras to photograph a static scene may even mean that we can use a series of images to refine the matrix used to perform this transformation.
I learn elsewhere that OpenCV should have CUDA support in spring 2011.
What I'm wondering now is how easy it will be to go from two camera images and 3D surface structure (I assume we'll be able to calculate this with the precision we'll need) to an "unwarped" page image. We won't just be back-projecting the image from the page onto a 2D plane, we'll be flattening the page itself. I assume some kind of inverse texture mapping operation will do it, but since I haven't written a texture mapping routine either, I'm expecting surprises.
Sorry for the software talk in the hardware section. Man with a hammer, and all that...
