Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reading magnetic ink (MICR)

I need to be able read the waveform produced by any arbitrary shape created in magnetic ink. How would it possible to simulate this programmatically?

I'm not interested in OCR. As per Magnetic ink character recognition, and assuming you have the E13B font and the characters rendered onto a JPG/PNG:

The ink in the plane of the paper is first magnetized. Then the characters are passed over a MICR read head, a device similar to the playback head of a tape recorder. As each character passes over the head it produces a unique waveform that can be easily identified by the system.

Any guidance towards a solution in any programming language would be appreciated.

like image 852
Salaryman Avatar asked Jul 16 '17 11:07

Salaryman


1 Answers

If you do not know the relationship between arbitrary shapes of ink and the waveforms output by the read head, you could attempt to characterize this relationship by experimentation. For example, you could connect the read head wires to a digital oscilloscope to view the waveforms and capture digitally sampled versions of these waveforms. These sampled waveforms are arrays of values that represent real data (better than simulation). To help with characterizing the relationship, you might start your experiments with simple geometries such as a vertical line, horizontal line, doubling the thickness of these lines to see the effect, etc. Such experimentation would lead you towards the ability to generate simulated data as you discover the relationship.

Or, perhaps this relationship is defined and documented somewhere; for example, in data sheets provided by the manufacturer of the read head.

like image 141
Tim D Avatar answered Oct 17 '22 16:10

Tim D