Ask Your Question

What steps for recognizing book pages, and flattening them.

asked 2016-02-29 18:26:58 -0500

Jaggz gravatar image

I'm trying to scan in some books for someone with a disability. I know C, but am a novice at image processing. (I have some books in electronic format, but there are two for a current course in school that aren't available electronically. I periodically have to scan in books for her anyway, so it would be nice to have a more convenient solution.)

My ideal goal is to process video I took of me flipping the pages, slowly, pausing between flips for a stable image.

I'm trying to figure out what steps could be taken to do this: I'm thinking, I need to recognize the outline or mask of the pages, identify the corners of the pages (2 pages side-by-side)... ...Then I could possibly do my own processing from that point on, to generate some lines in 3-space, corresponding to the shape of the page, then map the pixels to flatten the pages out. It's likely more idealistic than it sounds.

I hope you can help.


edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2016-03-01 09:59:42 -0500

Eduardo gravatar image
edit flag offensive delete link more

answered 2016-03-01 09:51:24 -0500

Eduardo gravatar image

In my opinion, you should make your life easier by:

  • putting the camera on a tripod and in a way that the book occupy the maximum of the image
  • using an uniform background with a color different of the color of the page (for example black if the pages are white) in order to easily detect and extract the book
  • detect still images using for example Background Subtraction
  • extract left / right pages by dividing the bounding box of the book by 2
  • correct the perspective by applying an homography (transform a trapezoid to a rectangle), with the real location of the 4 corners of the page and the desired location of the corners
edit flag offensive delete link more

Question Tools

1 follower


Asked: 2016-02-29 18:26:58 -0500

Seen: 716 times

Last updated: Feb 29 '16