I edited some code together from the camera calibration "test" that came with python-opencv (2.2). I don't really see any convincing results though, but I can only test this with the camera on my phone at the moment. If someone wants to experiment I dumped the code here. Print and take pictures of this chessboard from a number of (like ten) different angles first.
Would be really cool if the Kinect works, but seems to be made to collect a lot of "points" at a longer distance. When what we probably need is to collect a handful of more precise points very close up, as book "curvature" should be quite predictable. Something like structured light or a couple of line lasers at an angle could work. If you aim one or more line laser at a 45 degree angle to the book, wouldn't you be able to measure and correct the "curvature" of the book by taking two picture?
Want to help me with an algorithm?
Moderator: peterZ