
This is another simple example of what can be done with machine vision.
The program checks the stock control number of an airline ticket. In this
case the default number of the ticket is unkown, but it would be no problem
to compare the result with values from a database.
(The picture quality of the animation is 'poor', because we tried to reduce
the download time of the page.
The document number can also be checked (see picture below). The program
can be modified for use with any type of document or label and with any type of font.
|
|
Airline ticket reading: a case study in Optical Character Recognition
(OCR)
This is a demo of Optical Character Recognition OCR. OCR is a subset of pattern recognition. In general it is reading alphanumeric
characters, ie text. The letter "A" is obviously a pattern. If the language is English there are 26 letters and 10 digits.
Of course if special characters are allowed, for example "%", the number of characters goes up. OCR differs from general pattern
recognition in that the relative position of characters is usually known and often a constant. For example if the font is a fixed
pitch, the distance between characters is a constant. If the language is English the second character is usually to the right of the
first character. OCR will often read words and entire lines of words instead of individual characters as in pattern matching. Often OCR
is used to "read" the text that a human would read. Although bar code would often work, humans cannot read the barcode and so text is used
instead so that a person as well as the computer can both be used on the same label, text, etc.
Optical Character Verification (OCV) is very similar except in OCV you know what the text is supposed to be before you read it. For example
if the System is reading mailing addresses at the Post Office that would be OCR. If the System is reading mailing addresses at the printers
and the system is communicating with the printer so it knows exactly what is being printed, that would be OCV. Verifying the text/numbers
on a credit card which has just been made is OCV, while reading the text/numbers at a store (optically not magnetically) is OCR. In this
particular demo notice that there are two different types of numbers being read, document number and stock number, and the two numbers are
written in different fonts.
Additional typical applications include reading: serial numbers, part numbers, labels, expiration dates, lot numbers, anything written by a
printer to verify it's correct.
Hole measurement:
Measuring holes is a common task in a number of fabrication/manufacturing industries. The size of the holes can typically range from
nanometers or microns to meters. Measurements would include diameter, circularity, perimeter length, and location. For example if a
manufacturer has drilled a precision hole, the diameter has to be correct. Circularity is a factor indicating how circular a hole is
versus being elliptical or a straight line. If the hole is too elliptical, it won't be acceptable. Perimeter indicates hows ragged
versus smooth the edge is. Perimeter will detect burrs. Location is obviously important: even if the hole is perfectly formed, it's
useless if it's in the wrong position.
Typical applications include quality control on fine meshes such as that on ink jet printers, quality control on countersunk holes, and
drilling of vias and mounting holes on Printed Circuit Boards.
|