July 2005 Archives

Scanning Signatures

I just got a proof of concept working on a fun new program.

It’s nice to include a signature in a letter, so whenever I’m at a conference promoting my prayer letter service, I bring a stack of forms that I’ve made for the purpose of collecting signatures. People sign the form (up to four times for variety) and give me their name and E-Mail address.

Once I get back from the conference, I have been scanning the form and using Photoshop to extract the signatures from the form, so that I can send them via E-Mail to their owners.

This works fine as long as not too many people take me up on the offer, but I’m heading to a conference soon where I could have hundreds of forms filled out. Every 100 forms would represent a full workday of scanning, cropping, and E-Mailing, assuming I’m working at 100% efficiency and take no breaks. Bleh.

Programming to the rescue! (With sidekicks Trigonometry and Algebra!)

Using some registration marks on the form, I can feed the computer a batch of forms at once through an automatic document feeder. The program finds the registration marks, rotates the image so that it’s centered, determines where the signatures should be on the page, and (currently) places a pretty box around them.

Later (and this will be much easier than what’s in the last paragraph), it will shrink the box and center it around the signatures, do any cleanup that’s necessary (e.g. despeckle), save each signature as a separate image, along with the contact information from the form, and file each form separately.

When the batch has been scanned and prepared, I can go through the list, glance at them to make sure the signatures look okay, and have the program send them via E-Mail with instructions on how they can be added to various types of documents.

As a result, I’m estimating each form will take about 30 seconds of human time to process, plus about a minute per batch to get the scanning started, and another minute to get the processing program started. Much nicer!

And the best part is that it works, or at least the hard part does. The rest is pretty trivial and could be done by copying examples pretty much straight out of the documentation, if I wanted.

This was my second foray into writing programs to work with graphics, and the first one I wrote from scratch (the other one was a program to calculate toner coverage from PDF files, so I can figure out costs before printing a batch of them). I think you can safely expect to see more graphics-manipulating programs from me in the future. :-)

Recent Entries

Who's on first?
I’m going through the settings of a hard-core E-Mail program, and came across this lovely setting: Copy To Address to…
USPS Extreme Cost-Saving Measures
In the July 2010 edition of the PCC Insider (a USPS publication) is found the following statement: There are 26,000…
At 1:15am this morning
At a hotel, after a day of eventful travel and 3.5 hours of sleep the night before, it’s (almost) needless…
My Amazon.com Wish List