EyeLab: An Automated LED display analyzer

Introduction

Our lab has, over the years, accumulated a large quantity of test equipment. Much of this equipment was built at the dawn of the age of computers, when it was infeasible to have some kind of “digital output” to facilitate recording of information. If we want to record, say, voltages from a voltmeter, we must resort to the tried and true method of pen on lab notebook paper. We seek a way to remove the pen and paper from the equation, improving our productivity and opening up the door for longer-term experiments that do not need to be carefully watched.

Created over thirty years ago, the General Purpose Interface Bus (GPIB) provided a way for test equipment to communicate with other test equipment, and eventually, with computers. While this may seem like a likely candidate for a solution to our problem — and in fact much of our equipment is GPIB compatible — the problem with GPIB lies with the “GP”: a general purpose protocol means that each piece of equipment speaks a slightly different version of the language. This means that for each piece of equipment, new driver software must be written. Anyone who has tried to do this will echo that it is a tedious task, complicated by the difficulty in finding documentation for old equipment. Even with “standard” GPIB-compliant software such as National Instrument’s SignalExpress, over half of our equipment is not compatible! This is not to mention a myriad of “handheld” equipment (such as, in our case, handheld oxygen sensors) that have no data output other than a trusty pen and paper.

While the simplest solution to this problem would be to purchase newer equipment with built-in Ethernet ports and standardized TCP/IP communication, the recent slump in the economy warrants a more affordable solution. I propose the following: that a digital video camera (“webcam”) be used to “watch” the test equipment. An image processing algorithm can then be employed to extract the relevant information from the video, producing a usable file format (XML, CSV, etc.). The remainder of this work describes three algorithms that were developed to identify the digits of two datasets — a computer-generated 7-segment display showing one digit rendered at different camera angles, and a real-world digital multimeter recorded for about 40 seconds at a fixed camera angle.