6

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.

Salaryman
  • 395
  • 5
  • 13
  • but, if you have an JPG/PNG, why would you first produce the waveform, and not analyse the image directy with OCR? – Lux Jul 20 '17 at 02:20
  • @Lux I'm not interested in reading the Latin characters, I'm interested in rendering shapes that can emit equivalent waveforms, if that's even possible. There are plenty of solutions for OCR and that's not the difficulty I'm facing. – Salaryman Jul 20 '17 at 09:06
  • But, its the same! The entire waveforms thing is only done because its easier to build that reader then a camera. You would have to simulate the magnetic reader to produce the waveform, then analyze it, to only get the same as you would with OCR. – Lux Jul 20 '17 at 12:58
  • @Lux As stated in the question, *I need to be able to detect and read the waveforms/signals produced by any arbitrary shape*. My problem is not in *identifying* the characters-- I can use OCR for that. It's as you said, I need to simulate a magnetic read head and read the generated signals. The waveform itself is vital. – Salaryman Jul 20 '17 at 14:52
  • But, why? What do you want to accomplish? – Lux Jul 20 '17 at 21:55

1 Answers1

1

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.

Tim D
  • 650
  • 1
  • 12
  • 18