Voussoir, for Semi-Automated De-keystoning and Cropping of Images

General discussion about software packages and releases, new software you've found, and threads by programmers and script writers.

Moderator: peterZ

Post Reply
jlev
Posts: 24
Joined: 04 Mar 2014, 00:52
Number of books owned: 0
Country: USA
Contact:

Voussoir, for Semi-Automated De-keystoning and Cropping of Images

Post by jlev »

As part of the "Impost" scanner project, I have been working to document and add to "bookscan," a piece of software written in one day in 2012 by Yutaka Tsutano. I have added a full command-line interface and documentation to the program, and have renamed the fork "Voussoir". It should work across platforms, and can run separate from the scanning process or be built into it, depending on whether one's camera can directly deposit images into a directory that a provided example script is watching.

Voussoir looks at images and recognizes special "Glyphs", similar to QR Codes, that are in the image. The user affixes these glyphs at the corners (or at any fixed locations along the perimeter) of the book or platen before scanning and then informs Voussoir of the dimensions of the book (Really, the user informs Voussoir of the dimensions of space between the markers). With these pieces of information, Voussoir can recognize the book's pages and digitally separate, crop, and de-keystone them, making it look as though each page were photographed face-on.

Example output from the program is included in the "Impost" scanner thread.

Voussoir's source code and marker glyphs are available under a permissive license on GitHub. The GitHub repository also contains example scripts for (a) watching a folder for auto-processing images, and (b) invoking the program with several of its features.

I've been adding to this program in what feels like a primarily custodial way; I would be happy to collaborate on additional contributions to it!
jlev
Posts: 24
Joined: 04 Mar 2014, 00:52
Number of books owned: 0
Country: USA
Contact:

Re: Voussoir, for Semi-Automated De-keystoning and Cropping of Images

Post by jlev »

Voussoir's primary purpose is to de-keystone images from a one- or two-camera scanner where the book was open at an acute angle. It can also be used with a basic copystand setup with book open flat, however. For example, I recently digitized a spiral-bound notebook, which was able to sit flat on a tabletop. By placing the glyphs near the corners of the notebook, I was able not to worry about precisely calibrating the camera's spatial relation to the notebook. Instead, once I had measured the notebook and entered the relevant measurements into Voussoir's command-line invocation, the program automatically separated and cropped the pages and performed the slight keystone correction necessary from having the camera not exactly overhead.
gutto12
Posts: 15
Joined: 27 Dec 2017, 08:20
Number of books owned: 300
Country: Brazil

Re: Voussoir, for Semi-Automated De-keystoning and Cropping of Images

Post by gutto12 »

Hi

It is an excellent tool. Are you forecasting a version for windows?

Tks
Gustavo
gutto12
Posts: 15
Joined: 27 Dec 2017, 08:20
Number of books owned: 300
Country: Brazil

Re: Voussoir, for Semi-Automated De-keystoning and Cropping of Images

Post by gutto12 »

Dear,
I would love to work with this software. I find it perfect for my need. Could someone send me the executable file already compiled from the program. Unfortunately I do not understand programming, and even paid a programmer to do it for me, but he is not getting it. I would be very happy!
Ps. I use a Canon EOS T6i (750D)

A big hug to everyone,
Gustavo
jlev
Posts: 24
Joined: 04 Mar 2014, 00:52
Number of books owned: 0
Country: USA
Contact:

Re: Voussoir, for Semi-Automated De-keystoning and Cropping of Images

Post by jlev »

Hi Gustavo,

I apologize for taking this long to respond to you! I appreciate your interest in the project!

I am not really a C++ developer; I've just added some functionality and a lot of documentation to an existing project that the original author wasn't interested in adding to. I looked a bit into getting the program to compile on Windows, which should be possible. Unfortunately, I wasn't able to get the build environment set up correctly to get to the point of compiling the software. This is something that I would be interested in, and would certainly welcome Pull Requests for, but my current project list hasn't allowed me the time to dive into this more. I think that my difficulty with this issue is mostly one of getting all of the dependencies installed in Windows, which I don't normally use. Thus, currently, I'm not actively working on a Windows build.

Respectfully, and apologetically for taking this long to respond to your messages,
Jacob
Post Reply