Bookscanner: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
Line 32: Line 32:
The scanning is handled by a [https://github.com/danyq/diybookscanner Python script] that uses gphoto2 to connect with the cameras and displays images of the scanned pages in an HTML view. Three USB ports are required for the monitoring computer: One each for the two cameras, and one for the triggering mechanism. Post-processing is handled with [http://scantailor.sourceforge.net/ ScanTailor], an [https://gist.github.com/WD-42/7595388 OCR script using Tessaract], and [https://github.com/thisisparker/bookscanning various other scripts].
The scanning is handled by a [https://github.com/danyq/diybookscanner Python script] that uses gphoto2 to connect with the cameras and displays images of the scanned pages in an HTML view. Three USB ports are required for the monitoring computer: One each for the two cameras, and one for the triggering mechanism. Post-processing is handled with [http://scantailor.sourceforge.net/ ScanTailor], an [https://gist.github.com/WD-42/7595388 OCR script using Tessaract], and [https://github.com/thisisparker/bookscanning various other scripts].


Live View is obtained through a utility called QTGphotoInfo. To build on the macOS workstation, do this
Live View is obtained through a utility called QTGphotoInfo. To build on the macOS workstation install Xcode from the app store and homebrew from [https://brew.sh brew.sh]
Install homebrew from [https://brew.sh brew.sh]


<pre>
<pre>

Revision as of 18:11, 13 January 2017

The DIY Book Scanner is a project of the Noisebridge Digital Archivists group. It's based on the open-source DIY Book Scanner Kit designed by Daniel Reetz.

Here's the scanner first being assembled:

The completed scanner ready to scan:

The scanner on its new rolling stand:


Lighting

The original LED light was replaced with a larger LED array. To avoid glare, the array is mounted perpendicularly so the long side is parallel with the spine of the book. All of the interior surfaces of the book scanner are painted black, to avoid casting reflections on the glass. The glass was taken from two flatbed scanners and cut down to size by hand.

Cameras

We use two Canon cameras connected with USB to a computer and remote-controlled with a Python script that uses the gphoto2 library. You can find the full list of cameras supported by gphoto2 here. The pictures are transferred to the computer as soon as they are taken, rather than stored on an SD card.

Trigger

The cameras are triggered by a button mounted next to the handle on the scanner. The button is connected to a circuit board from a USB keyboard, so it behaves like pressing the "enter" key on the computer.

A cool upgrade would be a foot switch to trigger the shutter. This would free up the operator's hands to be dedicated to the book parts. This could be a cheap MIDI keyboard sustain pedal or a guitar pedal type switch.

Software

The scanning is handled by a Python script that uses gphoto2 to connect with the cameras and displays images of the scanned pages in an HTML view. Three USB ports are required for the monitoring computer: One each for the two cameras, and one for the triggering mechanism. Post-processing is handled with ScanTailor, an OCR script using Tessaract, and various other scripts.

Live View is obtained through a utility called QTGphotoInfo. To build on the macOS workstation install Xcode from the app store and homebrew from brew.sh

$ brew install qt
$ git clone https://github.com/lnxbil/qtgphotoinfo.git
$ cd qtgphotoinfo
$ qmake -spec macx-g++ -config debug QTGPhotoInfo.pro
$ make

Notes: The above fails on macOS Sierra with homebrew and qt5. Unresolved.

Instructions

Step-by-step Bookscanner Instructions are available for anyone who would like to use the Bookscanner.