The invention is a method for omnidirectional recognition of recognizable characters in a captured two-dimensional image. An optical reader configured in accordance with the invention searches for pixel groupings in a starburst pattern, and subjects located pixel groupings to a preliminary edge crawling process which records the pixel position of the grouping's edge and records the count of edge pixels. If two similar-sized pixel groupings are located that are of sizes sufficient to potentially represent recognizable characters, then the reader launches “alignment rails” at pixel positions substantially parallel to a centerline connecting the center points of the two similarly sized groupings. A reader according to the invention searches for additional recognizable characters within the rail area, and subjects each located pixel grouping within the rail area to a shape-characterizing edge crawling process for developing data that characterizes the shape of a pixel grouping's edge. After adjusting the orientation representation of the shape-characterizing data the reader compares the developed shape-characterizing data to previously stored shape-characterizing data to determine the character represented by the grouping on the basis of the best fit data.
|
1. A method for utilization of device having an imaging assembly including an image sensor, a memory, a trigger switch, and a hand graspable housing, the method including:
activating capture of image data into said memory utilizing said trigger switch;
searching for pixel groupings utilizing said image data, wherein a pixel grouping is characterized by one or more adjacent like valued pixels;
identifying a pair of similarly sized pixel groupings;
utilizing a result of said identifying, determining a location for searching for a character pixel grouping;
developing shape characterizing data for said character pixel grouping; and
recognizing a character represented by said character pixel grouping.
5. An optical character recognition optical reader for recognizing recognizable characters in a captured image, said reader comprising:
an imaging assembly including an image sensor for generating image signals;
a memory having stored character reference data stored therein;
control circuit in communication with said memory and said image sensor, said control circuit being operative for capturing image data into said memory, said control circuit further being operative for:
searching for pixel groupings utilizing said image data;
determining edge pixels of said pixel groupings;
based on said determining, identifying a pair of similarly sized pixel groupings;
utilizing a result of said identifying, determining a location for searching for a character pixel grouping;
developing shape characterizing data for said character pixel grouping utilizing edge pixels of said character pixel grouping; and
recognizing a character represented by said character pixel grouping.
18. An optical character recognition optical reader for recognizing recognizable characters in a captured image, said reader comprising:
an imaging assembly including an image sensor for generating image signals;
memory means having stored character reference data stored therein;
control means in communication with said memory means and said image sensor, said control means being operative for capturing grey scale image data into said memory means, said control means being programmed to include
binarizing means for binarizing said grey scale image data into one bit binary image data, wherein dark pixels are represented by binary “0” values and light pixels are represented by binary “1” values;
starburst searching means for searching for dark pixel groupings in said binary image data starting from a starburst center pixel and continuing said search in a pattern extending radially outwardly in multiple directions for said starburst center pixel;
edge length determining means responsive to said starburst searching means for subjecting pixel groupings located by said starburst searching means to an edge length edge crawl process for determining a length of edges, and pixel positions of edge pixels of said pixel groupings;
size monitoring means responsive to said edge length determining means for identifying a pair of substantially similarly sized pixel groupings of sufficient edge length to represent a recognizable character in said image data;
rail launching means responsive to said size monitoring means for launching alignment rails parallel to a centerline intersecting said pair of substantially similarly sized pixel groupings;
centerline search means responsive to said rail launch means for searching for dark pixels along said centerline;
shape-characterizing means responsive to said centerline search means for developing shape-characterizing data corresponding to at least one character pixel grouping located by said centerline search means, said shape-characterizing means including shape orientation adjusting means for adjusting an orientation representation of said developed shape-characterizing data so that said shape-characterizing data can be compared to said stored reference data;
comparison means for comparing said shape-characterizing data, as adjusted by said shape orientation adjusting means to said stored reference character data; and
recognition means responsive to said comparison means for recognizing a character represented by said at least one character pixel grouping on a basis of which data of said stored reference data best fits said shape characterizing data.
8. An optical character recognition optical reader for recognizing recognizable characters in a captured image, said reader comprising:
an imaging assembly including an image sensor for generating image signals;
memory circuit having stored character reference data stored therein;
control circuit in communication with said memory circuit and said image sensor, said control circuit being operative for capturing grey scale image data into said memory circuit, said control circuit being programmed to include
binarizing circuit for binarizing said grey scale image data into one bit binary image data, wherein dark pixels are represented by binary “0” values and light pixels are represented by binary “1” values;
starburst searching circuit for searching for dark pixel groupings in said binary image data starting from a starbust center pixel and continuing said search in a pattern extending radially outwardly in multiple directions for said starburst center pixel;
edge length determining circuit responsive to said starburst searching circuit for subjecting pixel groupings located by said starburst searching circuit to an edge length edge crawl process for determining a length of edges, and pixel positions of edge pixels of said pixel groupings;
size monitoring circuit responsive to said edge length determining circuit for identifying a pair of substantially similarly sized pixel groupings of sufficient edge length to represent a recognizable character in said image data;
rail launching circuit responsive to said size monitoring circuit for launching alignment rails parallel to a centerline intersecting said pair of substantially similarly sized pixel groupings;
centerline search circuit responsive to said rail launch circuit for searching for dark pixels along said centerline;
shape-characterizing circuit responsive to said centerline search circuit for developing shape-characterizing data corresponding to at least one character pixel grouping located by said centerline search circuit, said shape-characterizing circuit including shape orientation adjusting circuit for adjusting an orientation representation of said shape-characterizing data so that said shape-characterizing data can be compared to said stored reference data;
comparison circuit for comparing said shape-characterizing data, as adjusted by said orientation adjusting circuit to said stored reference character data; and
recognition circuit responsive to said comparison circuit for recognizing a character represented by said at least one character pixel grouping on a basis of which data of said stored reference data best fits said shape characterizing data.
3. The method of
4. The method of
9. The reader of
10. The reader of
11. The reader of
12. The reader of
13. The reader of
14. The reader of
15. The reader of
16. The reader of
17. The reader of
19. The reader of
20. The reader of
21. The reader of
22. The reader of
|
The present application is a continuation of U.S. patent application Ser. No. 12/315,858 filed Dec. 5, 2008 entitled “Method For Omnidirectional Processing of 2D Images Including Recognizable Characters” which is a continuation of U.S. patent application Ser. No. 12/069,438 filed Feb. 7, 2008 entitled “Method For Omnidirectional Processing Of 2D Images Including Recognizable Characters” which is a continuation of U.S. patent application Ser. No. 10/774,218 filed Feb. 6, 2004 entitled “Method For Omnidirectional Processing Of 2D Images Including Recognizable Characters” which is a continuation of U.S. patent application Ser. No. 09/724,367 filed Nov. 28, 2000 entitled “Method For Omnidirectional Processing Of 2D Images Including Recognizable Characters.” Priority of each of the above applications is claimed and each of the above applications is incorporated herein by reference in its entirety.
The invention relates to optical readers in general and specifically to a method for processing images including recognizable characters.
In spite of perpetually increasing processing speeds, the need for optical character recognition (OCR) readers that are programmed to efficiently search captured image data for recognizable indicia and to recognize such indicia has not diminished.
The increase in processing speeds has been accompanied by multiplication of the resolution of imaging arrays, and a corresponding multiplication of the number of processing operations required to process images captured by optical readers. The availability of higher processing speeds and higher resolution imaging systems, in turn, has encouraged users of OCR readers to develop OCR applications requiring an ever increasing number of processing operations.
In addition to being too slow for their designated applications, OCR readers have been observed to be poorly equipped to recognize characters obliquely oriented in a captured image. Existing optical readers generally require a specific orientation of a reader relative to a character during image capture for efficient recognition of a character.
There is a need for a faster OCR reader which provides omnidirectional character recognition.
According to its major aspects and broadly stated, the invention is a method for omnidirectional recognition of recognizable characters in a captured two-dimensional image.
An optical reader configured in accordance with the invention searches for pixel groupings along paths in a starburst pattern, and subjects each located pixel grouping to a preliminary edge crawling process which records the count of edge pixels and records the pixel positions of the grouping's edge so that the size and center of the grouping can be estimated. If two similar-sized pixel groupings are located that are of sizes sufficient to potentially represent recognizable characters, then the reader launches “alignment rails” at pixel positions substantially parallel to a center line connecting the center points of the two similarly sized groupings. The alignment rails define an area within the image likely to include a plurality of recognizable characters of a linear string of characters. The presence of clear areas above and below a pair of similarly and sufficiently sized pixel groupings extending at least the length of a minimal sequence of OCR characters indicates a likelihood that the pair of pixel groupings belong to a linear string of OCR characters.
A reader according to the invention, therefore, searches for recognizable characters along the rail area centerline, and subjects pixel groupings within the rail area to a shape-characterizing edge crawling process for developing data that characterizes the shape of a pixel grouping's edge. Prior to comparison of the shape-characterizing data with stored reference data, the reader adjusts the orientation representation of the developed data by an offset orientation value determined by the orientation of the rails. For pixel groupings within the rail area, the reader compares the developed shape-characterizing data to previously stored reference shape-characterizing data to determine the character represented by the grouping on the basis of the best fit data. These and other details, advantages and benefits of the present invention will become apparent from the detailed description of the preferred embodiment herein below.
A flow diagram of the main character recognition algorithm of the present invention for locating and recognizing recognizable characters is shown in
If a prior similar-sized globule is located, then the reader at block 24 launches “alignment rails” substantially parallel to a center line connecting the center points of the similar-sized globules. The term “substantially parallel” herein encompasses relative positions that are in fact parallel. The launched alignment rails are useful for identifying additional characters of a linear string of characters in a captured image and for establishing an orientation of the character string. At block 26, the reader polls pixels along the center line starting at the left bound edge of the area defined by the alignment rails until a pixel grouping in the rail area is located at block 28.
When a pixel grouping within the rail area is located, the reader at block 30 subjects the pixel grouping to a shape determining edge crawling process. In a shape-characterizing edge crawling process, the reader develops data that characterizes the shape of a pixel grouping's edge and processes the shape-characterizing data into a form so that the data can be compared to stored reference data. Importantly, if the rails are obliquely oriented, the reader adjusts the orientation representation of the shape-characterizing data by an offset value determined by the orientation of the rails.
The reader at block 32 then compares the developed shape-characterizing data for the present globule to stored shape-characterizing data for several characters to determine the character represented by the globule by selecting the best fit data of the stored shape-characterizing data database. The reader continues to poll pixels along the rail area center line and continues to attempt to recognize characters represented by located pixel groupings until at block 34 the reader determines that the end of the rail area has been reached.
A block diagram of an exemplary optical reader which may be employed to carry out the invention is shown in
Optical reader 110 includes an illumination assembly 120 for illuminating a target object T, such as a 1D or 2D bar code symbol, and an imaging assembly 130 for receiving an image of object T and generating an electrical output signal indicative of the data optically encoded therein. Illumination assembly 120 may, for example, include an illumination source assembly 122, such as one or more LEDs, together with an illuminating optics assembly 124, such as one or more lenses, diffusers, wedges, and reflectors or a combination of such elements for directing light from light source 122 in the direction of target object T. Illumination assembly 120 may include target illumination and optics for projecting an aiming pattern 127 on target T. Illumination assembly 20 may comprise, for example, laser or light emitting diodes (LEDs) such as white LEDs or red LEDs. Illumination assembly 120 may be eliminated if ambient light levels are certain to be high enough to allow high quality images of object T to be taken. Imaging assembly 130 may include an image sensor 132, such as a 1D or 2D CCD, CMOS, NMOS, PMOS, CID OR CMD solid state image sensor, together with an imaging optics assembly 134 for receiving and focusing an image of object T onto image sensor 132. The array-based imaging assembly shown in
Optical reader 110 of
More particularly, processor 142 is preferably a general purpose, off-the-shelf VLSI integrated circuit microprocessor which has overall control of the circuitry of
The actual division of labor between processors 142 and 144 will naturally depend on the type of off-the-shelf microprocessors that are available, the type of image sensor which is used, the rate at which image data is output by imaging assembly 130, etc. There is nothing in principle, however, that requires that any particular division of labor be made between processors 142 and 144, or even that such a division be made at all. This is because special purpose processor 144 may be eliminated entirely if general purpose processor 142 is fast enough and powerful enough to perform all of the functions contemplated by the present invention. It will, therefore, be understood that neither the number of processors used, nor the division of labor there between, is of any fundamental significance for purposes of the present invention.
With processor architectures of the type shown in
Processor 144 is preferably devoted primarily to controlling the image acquisition process, the A/D conversion process and the storage of image data, including the ability to access memories 146 and 147 via a DMA channel Processor 144 may also perform many timing and communication operations. Processor 144 may, for example, control the illumination of LEDs 122, the timing of image sensor 132 and an analog-to-digital (A/D) converter 136, the transmission and reception of data to and from a processor external to reader 110, through an RS-232, a network such as an Ethernet, a serial bus such as USB, a wireless communication link (or other) compatible I/O interface 137. Processor 144 may also control the outputting of user perceptible data via an output device 138, such as a beeper, a good read LED and/or a display monitor which may be provided by a liquid crystal display such as display 182. Control of output, display and I/O functions may also be shared between processors 142 and 144, as suggested by bus driver I/O and output/display devices 137′ and 138′ or may be duplicated, as suggested by microprocessor serial I/O ports 142A and 142B and I/O and display devices 137″ and 138′. As explained earlier, the specifics of this division of labor is of no significance to the present invention.
In addition to the above elements, readers 110-2 and 110-3 each include a display 182 for displaying information to a user and a keyboard 178 for enabling a user to input commands and data into the reader.
Any one of the readers described with reference to
As will become clear from the ensuing description, the invention need not be incorporated in a portable optical reader. The invention may also be incorporated, for example, in association with a control circuit for controlling a non-portable fixed mount imaging assembly that captures image data representing image information formed on articles transported by an assembly line, or manually transported across a checkout counter at a retail point of sale location.
Referring now to aspects of the recognition algorithm of the invention in greater detail, a starburst search process is more fully explained with reference to
As illustrated in
Searching for pixel groupings in a starburst pattern terminates temporarily when a first pixel grouping is found. The term “pixel grouping” herein refers to a grouping of one or more adjacent (including diagonally adjacent) like valued pixels, typically dark pixels. In order for a “dark” pixel to be recognized in an image, there must be a prior determination of what constitutes a dark pixel. Prior determination of what constitutes a “dark” pixel is normally carried out by binarization of at least a part of an image; that is, representation of a “dark” pixel by a one bit logic “0” value, and representation of a “light” pixel by a one bit logic “1” value (although the opposite convention can be adopted). It will be understood that image binarization referred to herein may be carried by a variety of different methods. For example, an image may be binarized by capturing a binary image comprising one bit “1” or “0” pixel values directly into memory 145 when an initial image map is captured. Alternatively, a grey scale image map may be captured into memory 145 and the pixel values therein may subsequently be converted into one bit binary values. An entire frame of grey scale values may be subjected to binarization prior to searching for indicia represented in the captured image, or else individual pixels of the image map may be binarized “on demand” when they are analyzed.
In addition, pixels of a grey scale image map may be binarized according to a “tile-binarization” process that is described with reference to
According to the tile binarization process, control circuit 140 does not binarize an entire image map prior to searching for recognizable indicia. Instead, in a tile binarization process, control circuit 140 binarizes a tile of an image map only when at least one pixel of the tile is needed for image data analysis. For example, at the time starburst searching commences, control circuit 140 may binarize only center tiles T150, and T151, as indicated by
In addition to binarizing tiles during starburst searching, control circuit 140 may binarize new tiles during other image data processing steps such as during an edge crawling step, to be described more fully hereinbelow, or during an alignment rail area search for recognizable indicia to be described more fully hereinbelow. Control circuit 140 may binarize a new tile when control circuit 140 is required to read a first pixel of the new tile or when control circuit 140 reads a previously binarized pixel value in positional proximity with the new tile. For example, control circuit 140 may binarize a new tile when control circuit 140 reads a pixel value corresponding to a pixel that borders the new tile.
In another aspect of a tile binarization process, the particular type of binarization process executed by control circuit 140 in binarizing a tile of pixel values may be made to vary depending on the type of image data processing presently being carried out by control circuit 140. In one embodiment of the invention, control circuit 140 is made to binarize new tiles as is necessary according to a low resolution binarization process when searching for pixel groupings, or when subjecting a pixel grouping to an edge-length determining edge crawling process to be described more fully herein and to binarize tiles of pixels as is necessary according to a high resolution binarization process when subjecting a pixel grouping to a shape-characterizing edge crawling process as will be described herein.
In a low resolution binarization process, control circuit 140 converts each grey scale value of a tile into a binary “1” or “0” value. In a high resolution binarization process described with reference to
In the above-described embodiment it will be recognized that control circuit 140 may binarize certain tiles according to a high resolution binarization process during execution of shape-characterizing edge crawl which have previously been binarized according to a low resolution binarization process (during searching or length determining edge crawling).
If control circuit 140 may construct both low resolution and high resolution binarized image maps corresponding to the same position of a grey scale image map, then control circuit 140 may store both of these binary representations into memory 145 in a manner such that certain cells of the memory store bits corresponding to both of the low and high resolution binary representations. It is seen with reference again to
Threshold values for use in binarizing grey scale image data may be developed utilizing a variety of different methodologies. Threshold values may be predetermined based on known illumination or exposure conditions. Threshold values may also be based on grey scale values of a threshold-determining frame of image data, which is typically the frame of image data being processed when the reader is of a type adapted for used in variable illumination conditions.
In calculating threshold values based on present or recently captured image data, control circuit 140 may consider every pixel of an image map. However, for increased processing speed, control circuit 140 may be adapted to sample a limited number of threshold-determining pixel values (such as 1/256 of pixels of the entire image map) at substantially evenly spaced apart pixel position for use in determining a similar number of threshold values for an image map (in a tile-binarization scheme implemented with a typically sized image map, this number of thresholds would result in a limited number, for example 4, threshold values being calculated for each tile). This set of grey scale values may be referred to as a sample array of threshold-determining values.
Preferably, the threshold value for use in binarizing a grey scale value at a given pixel position takes into consideration grey scale values of pixels of the threshold-determining frame in positional proximity to the given pixel position preferentially to grey scale values to pixel positions not in positional proximity with the given pixel.
Skilled artisans will recognize that numerous alternative methods are possible for ensuring that a threshold value at a given pixel position depends preferentially on pixel values of neighboring pixels. According to one method for developing threshold values that depend preferentially on the value of neighboring pixels, control circuit 140 may develop the threshold value at each pixel position of a threshold determining image map by calculating the average of the grey scale value at that pixel and of a predetermined arrangement of surrounding pixels. Likewise, control circuit 140 may develop a threshold value for a group of pixels corresponding to a given position in a sample array of threshold determining values by averaging the threshold determining value at the given position and threshold-determining values at positions surrounding the given position.
Another method for determining threshold values that depend preferentially on grey scale values of neighboring pixels is described with reference to
If p0 in the image map of
In executing a length determining edge crawling process (block 16), control circuit 140 counts the number of the pixel grouping's edge pixels and records the position of each edge pixel. In the specific example described, edge pixels are considered the light pixels that border the groupings dark pixels.
In order to count a sequence of edge pixels, control circuit 140 must first establish an initial traveling direction, and then follow a set of edge crawling rules. A possible set of rules for establishing an initial traveling direction is as follows:
(E) else edge crawling fails.
Edge crawling fails under condition (E) if there is no dark pixel neighboring the first edge pixel (violating the starting condition) or if the first edge pixel is completely surrounded by dark pixels.
In the example of
As control circuit 140 determines the position of each new edge pixel, control circuit 140 records the pixel position of the edge pixel into memory 145 and increments an edge pixel counter.
It should be highlighted that the above moves are made relative to the current traveling direction. If having reached the present position by traveling South for example, then the order of checking is (1) is West light, then turn and move West, else (2) is South light, then move South, else (3) is East light, then turn and move East, else (4) turn and move North. Because the above edge crawling rules result in the direction of crawling advancing rightward of the present direction whenever there is a light pixel neighboring the present edge pixel, they may be referred to herein as “right” edge crawling rules. “Left” edge crawling rules can also readily be developed, as will be explained herein.
Following the above edge crawling rules, control circuit 140 determines the sequence of edge pixels for pixel grouping G1 to be: eG10, eG11, eG12 . . . eG125 as is illustrated in
Referring again to the main recognition algorithm flow diagram of
Continuing to search for pixel groupings in a starburst pattern, the next dark pixel encountered by control circuit 140 following the starburst pattern of
The next pixel grouping that is found pursuant to starburst searching is pixel grouping G3. Following the above traveling direction initialization and edge crawling rules, control circuit 140 at block 16 determines the edge pixels of grouping G3 to be edge pixels eG30, eG31, eG32 . . . eG3171 as is indicated in
Control circuit 140 may determine at block 20 whether the sizes of globules G3 and G2 are similar by monitoring the highest and lowest x-axis positions and the highest and lowest y-axis positions of the globule. For example, control circuit 140 may estimate the size of a globule according to the formula:
ESIZEGLOBULE=(X(hi)−X(lo))+(Y(hi)−Y(lo)) eq. 1
Further, control circuit 140 may determine whether the sizes of two globules are similar on the basis of whether the size estimations of the two globules as estimated by eq. 1 are within a predetermined percent age, such as +−12.5 percent. Employing eq. 1 to estimate the size of globule G2, and globule G3, respectively, then
ESIZEG2=(eG269−eG222)+(eG262−eG220)=19+15=34
ESIZEG3=(eG370−eG35)+(eG362−eG3121)=36+43=77
Because the sizes of globules G2 and G3 do not correlate with one another according to the described criteria, control circuit 140, after executing block 20 (size comparison) proceeds again to block 12 to continue polling pixels according to a starburst search pattern.
The next pixel grouping found by control circuit 140 by searching for dark pixels in a starburst pattern is pixel grouping G4 corresponding to the recognizable character “E”. Applying the above traveling direction initialization and edge crawling rules, control circuit 140 determines that the edge pixels of grouping G4 are edge pixels eG40, eG41, eG42 . . . eG4251 as is indicated in
Applying eq. 1 to estimate the size of globule G4, then
ESIZEG4=(eG4112−eG428)+(eG481−eG4248)=39+47=86
Comparing the estimate size of globule G4 to that of globule G3 control circuit 140 confirms at block 20 that the sizes of the two globules G4 and G3 (ESIZEG3=77 and ESIZEG4=86) correlate with one another within the described predetermined tolerance (selected in the exemplary embodiment to be ±12.5%). Having determined that the sizes of two globules correlate, control circuit 140 proceeds to block 24 at which control circuit 140 launches alignment rails at positions determined by characteristics of the similar-sized detected rails.
Alignment rails 50 and 52 as described with reference to
As illustrated with reference to
A scene imaged by an OCR reader will often contain several rows of printed character strings. It can be seen that if control circuit 140 launches rails 50 and 52 pursuant to locating similarly-sized pixel groupings corresponding to characters from different rows, rails 50 and 52 will likely encroach upon pixel groupings corresponding to characters of the different rows.
In one embodiment control circuit 140 is configured so that if a rail 50 encroaches upon a pixel grouping, control circuit 140 makes no attempt to recognize characters within the present rail area. In this embodiment, control circuit proceeds to block 12 to poll pixels in a starburst pattern if during execution of block 24 (rail launch) a rail encroaches upon a pixel grouping, e.g. grouping G7. In an alternative embodiment, control circuit 140 is configured so that the encroachment of a rail upon a pixel grouping results in a truncation of the rail area, but does not preclude the control circuit's searching for recognizable data within the rail area. That is, control circuit may be configured to establish a rail border B perpendicular to rail 52 at the point T where rail 52 encroaches upon pixel grouping.
In yet another embodiment, control circuit 140 is configured so that if the length of a rail, 50 and 52, is below a minimally sufficient length which is preferably determined relative to the edge lengths of located pixel groupings, then control circuit 140 makes no attempt to recognize characters in the present rail area and instead proceeds to block 12 to poll pixels in a starburst pattern. For example, control circuit 12 can be made to proceed to block 12 after a rail launch if the length of rail 50 or 52 is not greater than the average edge length of similarly sized globules located at block 20. In the case that both rails are above a minimally sufficient length but one of the rails nevertheless encroaches on a pixel grouping such as pixel grouping G7, control circuit 140 preferably truncates the rail area by defining a new border B for the rail area as described previously in connection with
Rails 50 and 52 may be launched in accordance with a simple mathematical formula. In one embodiment, rails 50 and 52 are a series of pixel positions at a perpendicular oriented spacing distance, S, from center 51. S may be calculated according to the formula:
S=(ESIZEA,+ESIZEB)/5 eq. 2
Launching rails at distances from center line 51 according to eq. 2 assures that rails 50 and 52 satisfy the requirements of extending through pixel positions which are proximate recognizable characters, but if well aligned relative to a character string are not likely to encroach upon recognizable characters of a linearly arranged string of recognizable characters. Preferably, control circuit 140 grows rails in first and second directions, d1 and d2, starting from a position r0 along a globule's vertical centerline. The center points, G3 and G4 illustrated in the image representation of
C[x,y]=[(AVG(x(hi)+x(lo)),AVG((x(hi)+x(lo))] eq. 3
After rails 50 and 52 are launched, control circuit 140 attempts to recognize characters defined within the boundaries of rails 51, 52 and border b or border B. More particularly, with rails established, control circuit 140 begins searching for additional dark pixel globules at block 26 by polling pixels along center line 52 beginning at the left edge L of the area defined by rails 50, 52 and border b, or border B.
In the example of
Once an initial traveling direction value for shape-characterizing edge crawling is established, the direction of travel about an edge, and the determination of a traveling direction value for each new edge pixel, may be governed by the following shape determining edge crawling rules:
Certain features and advantages of the shape-characterizing edge crawling process as well as methods by which the process can be varied can be easily appreciated with reference to
A first observation, as best seen by the plotted traveling direction values of
Any edge crawl that is not terminated by a termination condition (e.g. the border of an image being reached) will eventually result in a traveling direction value being determined for initial edge pixel, e0, a second time. In the example of
While the traveling direction value, D, discussed thus far characterizes the direction of travel between two pixels along a prescribed path and therefore the relative positioning between two pixel positions, the shape of an edge of a pixel grouping comprising a plurality of pixels can be characterized by high resolution traveling direction values, DH. Control circuit 140 calculates a high resolution traveling direction value DH, by summing N successive traveling direction values, D.
If N is selected to be 4, for example, then control circuit 140 may commence calculation of a running sum of pixel values when a travel direction value, D, is calculated for the 4th edge pixel, E3, as is indicated by the Table 1. The running sum of the directional values may be referred to as a high resolution traveling directional value, DH, since the value represents the general direction of an edge over a succession of edge pixels. When a traveling direction value, D is calculated for each new edge pixel starting with the N=4 edge pixel, the high resolution traveling directional value, DH, is updated. Because DH at any edge pixel, Ex, can be calculated according to the formula DH(Ex)=DH(Ex−1)+D(Ex)−D(Ex−N) then maintaining a running sum of traveling direction values requires minimal processing time.
More particular benefits of maintaining a running sum of traveling direction values are discussed in greater detail with reference to
Increasing the number, N, of traveling direction values summed in a running sum of traveling directional values operates to improve the hiding of irregularities or “bumps” along edges that are generally straight, but results in the recorded DH values characterizing corners of a pixel grouping as rounded edges.
An example illustrating one method by which control circuit 140 at block 30 can apply the above edge crawling rules to develop data characterizing the shape of pixel grouping located along rail area centerline 51 such that the developed data can be compared in a useful manner to stored reference data is described with reference to
To develop traveling direction values which generally descend for succeeding edge pixels about an exterior of a pixel grouping control circuit 140 may apply “left” shape-characterizing edge crawling rules, derivable from the above right edge. Left edge crawling rules for establishing an initial traveling direction, and traveling direction value, D0, for southeastern edge pixel E0 are:
In the example described with reference to
A partial set of traveling direction values for pixel grouping G5 developed according to the above left shape-characterizing edge crawling rules are summarized in Table 1 herein:
TABLE 1
Edge Pixel
D
DH
E0
1
5
E1
0
3
E2
0
2
E3
0
1
E4
0
0
E5
0
0
E6
0
0
E7
0
0
E8
0
0
E9
0
0
.
.
.
.
.
.
.
.
.
E89
−2
−7
E90
−1
−6
E91
−2
−7
E92
−2
−7
E93
−1
−6
E94
−2
−7
E95
−2
−7
E96
−1
−6
E97
−2
−7
E98
−2
−7
.
.
.
.
.
.
.
.
.
E139
−3
−13
E140
−4
−14
E141
−4
−14
E142
−4
−15
E143
−3
−15
E144
−4
−15
E145
−3
−14
E146
−4
−14
E147
−4
−15
E148
−3
−14
After developing shape-characterizing data comprising traveling directions and high resolution traveling direction values as indicated in Table 1, control circuit 140 continuing with the execution of block 30, (unless it determines that an interior of a character has been crawled as explained with reference to
Because the count of edge pixels that comprise an edge of an imaged character are highly unpredictable and depend upon a variety of factors including the reader-to-target distance, font size, and the resolution of the reader, it is normally necessary to scale the present pixel groupings shape-characterizing data so that the data can be productively compared to stored shape-characterizing data. In the embodiment explained with reference to
Similarly, in the generation of developed data 62, the edge pixels of pixel groupings, e.g. grouping G5 are divided into M equal lengthened segments, and for each of the M segments, control circuit 140 calculates an average high resolution traveling direction value, DHAsg0, DHAsg1, . . . DHAsgM−1. Each average high resolution traveling direction value, DHAsgi, is calculated by averaging a string of high resolution traveling direction values, DH, corresponding to a segment of the pixel grouping. When segmenting a pixel grouping, e.g. grouping G5 into a plurality of substantially equal lengthened segments, it is preferred that control circuit 140 accounts for the fact that a linear pair grouping of edge pixels, e.g. edge pixels E9, E10, represent a greater distance along the perimeter of a character than a diagonal grouping of edge pixels, e.g. edge pixels E50 and E51. In the particular example described with reference to
In addition to adjusting for scale discrepancies represented between the shape-characterizing data expressed in Table 1 and the stored reference data 62, control circuit 140 preferably adjusts for orientation discrepancies between the shape-characterizing data and the stored data 62. While by convention stored reference data 62 corresponds to a reference character in a northward aligned orientation, the developed shape characterizing data of Table 1 corresponds to a character pixel grouping obliquely oriented in an image.
A highly significant advantage of the present invention is that the orientation representation of shape-characterizing data developed by the processes described herein can readily be adjusted. As seen with reference to the example of
OFFSET=((CMPSTS)×(rail angle))/360 deg. Eq. 4
Actual stored reference data such as reference data 62 is preferably scaled and offset to values in the 0 to 255 range so as to be readily expressed in binary 8 bit numbers of substantial resolution. The particular stored reference data 62 are generated by scaling high resolution traveling values, DH, by a factor of 8 to generate 8×CMPST=128 compass positions, offsetting DHAsg, values by multiples of the number of compass positions, and adding 40 to avoid final DHAsg, values in the negative range.
Scaling and offsetting the shape-characterizing data of Table 1 on accordance with reference data 62, and adding the orientation OFFSET value to the result, confirms the accuracy of the shape characterization. As seen in Table 1, the string of edge pixels in the northward stretch region NSR of pixel grouping G5 have traveling directions such as {−4, −4, −3, −4, −3, −4} and high resolution traveling direction values such as {−15, −15, −14, −14, −15}. Scaling and offsetting data corresponding to this segment of edge pixels yields DHA value for the segment of DHA=((−88×8)/6)+128+40=INT[50.66]=51 prior to orientation offsetting. Adding the scaled orientation offset of OFFSET=INT[−13.51}=−14 to the DHA value yields a DHA value for the segment of DHA=51−14=37, which corresponds well to DHA=40, modulo 128, values in the stored reference data 60 corresponding to northward stretch reference character segments, e.g. DHASG25, DHASG4 (reference character “T”) of the reference data 62.
In spite of the provision for orientation adjustment of the developed data, the reorientation of data, under certain circumstances, may not be sufficient to result in selection of a best fit set of data from the stored shape-characterizing database. Note, that in the example of
When a pixel grouping's shape-characterizing data is scaled and offset for scale and orientation adjustment and for compatibility with stored reference data, 62, control circuit 140 at block 32 selects the character represented by the pixel grouping by identifying the stored data that best fits the developed data. A variety of known mathematical methods may be utilized for the identification of the best fit data. In one embodiment, control circuit 140 may calculate the absolute value of the difference between each average high resolution traveling direction value, DHA, of the developed data 60 and the corresponding stored data (DHASGi−DHAsgi), sum these differences and select the best fit data as the data yielding the lowest sum. That is, an error sum assigned to a particular reference character may be calculated according to the formula:
ERSUM=|DHASG0−DHAsgo|+|DHASG1−DHAsg1| . . . |DHASGM−1−DHAsgM−1| Eq. 5
Should an initial comparison between developed data and stored data fail to yield a candidate best fit set of data within a predetermined tolerance, it may be beneficial to calculate a difference sum between the developed and stored data by taking into consideration differences between DHA values for segments of the developed data, e.g. DHAsgi and those of either immediately preceding (DHASGi−1) or immediately succeeding (DHASGi+1) segments of the stored data. For example, the error sum assign a particular reference character may be calculated according to the formula:
ERSUM=|DHASG1−DHAsgo|+|DHASG2−DHAsg1| . . . +|DHASGM−1−DHAsgM−2| eq. 6
As is indicated by the loop defined by blocks 24, 26, 28, 30, and 32, control circuit 140, if recognition is successful at block 32, continues to poll pixels along center line 51 of the rail area to locate and recognize character pixel groupings until the end of the rail area is reached (block 34). The operation of control circuit 140 in the case recognition fails at block 32 depends on the particular configuration of control circuit 140.
Control circuit 140 can be adapted so that if control circuit 140 at block 32 fails to select a best fit set of character data from reference data 32 control circuit 140 nevertheless proceeds to block 26 to continue to search for dark pixels along center line 51. Control circuit 140 also may be configured, as explained previously with reference to
Further still, control circuit 32 can be configured to attempt to recognize an upside down imaged character string in the case recognition fails at block 32. The orientation adjustment processing described herein above is useful for correcting for orientation discrepancies between developed (e.g. Table 1) and stored reference data 62 for a recognizable character oriented at any orientation in a captured image within a 180 degree radius (+−90 degrees from horizontal). To facilitate 360 degree recognition of recognizable imaged characters, stored reference data 62 is made to include shape-characterizing data corresponding to upside down oriented reference characters and control circuit 140 is configured so that control circuit modifies its polling of pixels along center line 51 in the case recognition fails at block 32. Specifically, control circuit 140 can be configured to commence polling of pixels in a leftward direction starting from the right edge R of the rail area in the case recognition fails at block 32 in search of pixel groupings representative of upside-down imaged characters. If control circuit 140 locates a pixel grouping during leftward center line pixel polling, control circuit 140 may develop shape-characterizing data beginning at the most northwest edge pixel of the pixel grouping as determined based on the greatest distance to mathematically interpolated point C′, and may proceed to attempt recognize the upside down imaged character as explained previously in connection with block 32 by comparison of the developed data to the stored upside down reference character data of reference data 62.
Control circuit 140 can also be configured to attempt to recognize right side up and upside down imaged characters concurrently. For example, at the time control circuit 140 develops shape-characterizing data as shown in Table 1 starting from the most southeast edge pixel E0, control circuit 140 can also develop shape-characterizing data starting from the most northwest edge pixel location. Control circuit 140 at block 32 can then compare the two sets of developed data, the rightside up developed shape-characterizing data, and the upside down shape-characterizing data to stored reference data 62 that includes reference shape-characterizing data for both rightside up and upside down reference characters. When configured to recognize rightside up and upside down imaged characters concurrently, control circuit 140 may select both a best fit set rightside up reference characters and a best fit set of upside down reference characters and may select between the sets of characters based on which string yields the lowest cumulative error sum.
There is set forth herein:
A1. An optical character recognition optical reader for recognizing recognizable characters in a captured image, said reader comprising:
While this invention has been described in detail with reference to a preferred embodiment, it should be appreciated that the present invention is not limited to that precise embodiment. Rather, in view of the present disclosure which describes the best mode for practicing the invention, many modifications and variations would present themselves to those skilled in the art without departing from the scope and spirit of this invention as defined in the following claims.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
3767923, | |||
3811033, | |||
3916154, | |||
3978319, | Oct 29 1975 | International Business Machines Corporation | Universal self-clocking code reading method and apparatus |
4012716, | Nov 16 1971 | Monarch Marking Systems, Inc. | Coded record and method of and system for interpreting the record |
4088981, | Nov 12 1975 | Citibank N.A. | Automated data entry and display system |
4095096, | Sep 02 1975 | Matsushita Electric Industrial Co., Ltd. | Code discriminator |
4147295, | Aug 18 1976 | Nippondenso Co., Ltd. | Method and apparatus for recognizing bar codes |
4272675, | May 30 1979 | NCR Corporation | Symbol processing system |
4379224, | May 26 1981 | Honeywell Inc. | Apparatus for interpreting Code 39 bar code data |
4411016, | Jun 01 1981 | BANTEC, INC , A CORP, OF DELAWARE | Barcode width measurement system |
4414468, | May 18 1981 | R E BAKER, INC , A CA CORP | Systematic error correction in bar code scanner |
4434548, | Dec 03 1979 | McGraw-Edison Company | Method of manufacturing plug-in electrical fuses |
4453084, | Sep 15 1981 | BROUWER, FRANS | Optical pattern tracing system |
4488678, | Jun 11 1981 | TOKYO ELECTRIC CO , LTD | Method and apparatus for reading a bar code |
4567610, | Jul 22 1982 | Wayland Research Inc. | Method of and apparatus for pattern recognition |
4575625, | Sep 27 1983 | METROLOGIC INSTRUMENTS IC | Integral hand-held laser scanner |
4610025, | Jun 22 1984 | ASSOCIATED INVESTMENT COMPANY VENTURES, INC , 5801 TROWBRIDGE, EL PASO, TEXAS 79925 A TEXAS CORP | Cryptographic analysis system |
4654873, | Nov 27 1982 | Hitachi, Ltd. | System and method for segmentation and recognition of patterns |
4685143, | Mar 21 1985 | Texas Instruments Incorporated | Method and apparatus for detecting edge spectral features |
4685180, | Jul 19 1984 | Nippon Sheet Glass Co., Ltd. | Contour shaping apparatus |
4688179, | Sep 14 1983 | Fanuc Ltd. | Tracer control system |
4746789, | Nov 02 1984 | U S PHILIPS CORPORATION | Reading device for bar codes |
4757551, | Oct 03 1985 | Ricoh Company, LTD | Character recognition method and system capable of recognizing slant characters |
4762063, | Jan 23 1987 | UARCO INCORPORATED UARCO , WEST COUNTY LINE ROAD, BARRINGTON, ILLINOIS 60010 A CORP OF DE | Bar code printing method |
4805224, | Jun 08 1983 | Fujitsu Limited | Pattern matching method and apparatus |
4817166, | May 05 1986 | Perceptics Corporation | Apparatus for reading a license plate |
4850025, | Sep 27 1985 | Sony Corporation | Character recognition system |
4874936, | Apr 08 1988 | UNITED PARCEL SERVICE OF AMERICA, INC , A DE CORP | Hexagonal, information encoding article, process and system |
4879456, | Jun 18 1987 | PSC SCANNING, INC | Method of decoding a binary scan signal |
4896029, | Apr 08 1988 | United Parcel Service of America, Inc.; United Parcel Service of America, Inc | Polygonal information encoding article, process and system |
4907283, | Mar 13 1987 | Canon Kabushiki Kaisha | Image processing apparatus |
4924078, | Nov 25 1987 | VCODE HOLDINGS, INC | Identification symbol, system and method |
4933538, | Oct 21 1988 | Symbol Technologies, Inc. | Scanning system with adjustable light output and/or scanning angle |
4939354, | May 05 1988 | SIEMENS ENERGY AND AUTOMATION, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
4948955, | Dec 22 1988 | The Boeing Company | Barcode location determination |
4961231, | Jan 20 1987 | Ricoh Company, Ltd. | Pattern recognition method |
4962423, | Jan 27 1988 | Canon Kabushiki Kaisha | Mark detecting method and apparatus |
4963719, | Nov 01 1989 | PSC SCANNING, INC | Bar code scanner and method of scanning |
4972499, | Mar 29 1988 | Kabushiki Kaisha Toshiba | Pattern recognition apparatus |
4988852, | Jul 05 1988 | Intermec Corporation | Bar code reader |
4998010, | Apr 19 1988 | United Parcel Service of America, Inc. | Polygonal information encoding article, process and system |
5036182, | Jun 21 1988 | ALPS Electric Co., Ltd. | Bar code reading and decoding apparatus |
5048113, | Feb 23 1989 | RICOH COMPANY, LTD , NO 3-6, 1-CHOME, NAKAMAGOME, OTA-KU, TOKYO, 143 JAPAN, A CORP OF JAPAN | Character recognition post-processing method |
5050224, | May 20 1989 | Kabushiki Kaisha Toshiba | Character recognition apparatus |
5053609, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5059779, | Jun 16 1989 | Symbol Technologies, Inc. | Scan pattern generators for bar code symbol readers |
5073954, | Feb 28 1989 | SIEMENS DEMATIC POSTAL AUTOMATION, L P | Bar code location and recognition processing system |
5077463, | Mar 03 1989 | Fujitsu Limited | Bar code reading apparatus |
5081685, | Nov 29 1988 | PERCEPTICS, LLC | Apparatus and method for reading a license plate |
5124536, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5124537, | Oct 29 1990 | Omniplanar, Inc. | Omnidirectional bar code reader using virtual scan of video raster scan memory |
5126542, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5131053, | Aug 10 1988 | Nuance Communications, Inc | Optical character recognition method and apparatus |
5134272, | Jul 13 1988 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD , | Image signal processing apparatus for bar code image signal |
5161245, | May 01 1991 | Apple Inc | Pattern recognition system having inter-pattern spacing correction |
5177793, | Sep 20 1989 | NEC Corporation | Accurate recognition of input patterns |
5179271, | Sep 19 1991 | NCR Corporation | Compact optical scan pattern generator for bar code reading systems |
5182777, | May 08 1987 | Ricoh Company, Ltd. | Method for extracting feature quantities of a character |
5189292, | Oct 30 1990 | Omniplanar, Inc. | Finder pattern for optically encoded machine readable symbols |
5195147, | May 02 1989 | Ricoh Company, Ltd. | Image forming apparatus |
5222158, | Jun 06 1988 | Hitachi Software Engineering Co., Ltd. | Pattern recognition apparatus |
5227617, | Dec 28 1989 | PAXAR AMERICAS, INC | Hand-held label applicator with scanned data acquistion and selective data retrieval acquistion |
5235167, | Oct 21 1989 | Symbol Technologies, Inc. | Laser scanning system and scanning method for reading bar codes |
5243655, | Jan 05 1990 | Symbol Technologies Inc. | System for encoding and decoding data in machine readable graphic form |
5250791, | Apr 09 1990 | Symbol Technologies, Inc. | Scanning system with adjustable light output and/or scanning angle |
5262623, | Sep 04 1991 | Omniplanar, Inc. | Method and apparatus for distinguishing a preferred bar code or the like |
5270525, | Jan 08 1990 | Nippondenso Co., Ltd. | Non-decoded type bar code reading apparatus |
5276315, | May 14 1992 | UNITED PARCEL SERVICE OF AMERICA, INC , A DELAWARE CORP | Method and apparatus for processing low resolution images of degraded bar code symbols |
5286960, | Nov 04 1991 | Welch Allyn Data Collection, Inc | Method of programmable digitization and bar code scanning apparatus employing same |
5294783, | Jan 10 1992 | Welch Allyn Data Collection, Inc | Analog reconstruction circuit and bar code reading apparatus employing same |
5296691, | Sep 14 1992 | SICK, INC | Scanning device for reconstructing a complete code from scanned segments |
5302814, | Jun 18 1990 | Fujitsu Limited | Bar code reading apparatus |
5304787, | Jun 01 1993 | Symbol Technologies, Inc | Locating 2-D bar codes |
5319181, | Mar 16 1992 | SYMBOL TECHNOLOGIES, INC , A CORP OF DE | Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera |
5325444, | Nov 19 1991 | Xerox Corporation | Method and apparatus for determining the frequency of words in a document without document image decoding |
5329105, | Aug 10 1992 | United Parcel Service of America, Inc. | Method and apparatus for determining the width of elements of bar code symbols |
5329107, | May 05 1988 | SIEMENS ENERGY AND AUTOMATION, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5335289, | Feb 13 1991 | International Business Machines Corporation | Recognition of characters in cursive script |
5335290, | Apr 06 1992 | Ricoh Company | Segmentation of text, picture and lines of a document image |
5341438, | Jul 22 1992 | Eastman Kodak Company | Method and apparatus for segmenting and classifying unconstrained handwritten characters |
5343028, | Aug 10 1992 | United Parcel Service of America, Inc. | Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images |
5352878, | Jan 29 1993 | United Parcel Service of America, Inc | Method and apparatus for decoding bar code symbols using independent bar and space analysis |
5354977, | Oct 02 1992 | Symbol Technologies, Inc | Optical scanning head |
5357093, | Feb 01 1993 | Storage Technology Corporation | System and method for converting bar code scan line data into machine-readable code |
5357602, | Apr 03 1989 | Ricoh Company, Ltd. | Apparatus for transforming a two-level image into contour vectors by decomposing composite figures into "unitary" (open) and closed-loop figures, especially suitable for minimizing memory use while maintaining system processing speed |
5365048, | Feb 20 1992 | Olympus Optical Co., Ltd. | Bar code symbol reading apparatus with double-reading preventing function |
5373147, | Sep 16 1992 | IBM Corporation | Apparatus and method for detecting line segment direction |
5378881, | May 29 1992 | Olympus Optical Co., Ltd. | Bar code reader for accurately reading two-dimensional bar code images |
5378883, | Jul 19 1991 | Omniplanar Inc. | Omnidirectional wide range hand held bar code reader |
5412196, | Apr 01 1994 | United Parcel Service of America, Inc. | Method and apparatus for decoding bar code images using multi-order feature vectors |
5412197, | Jan 29 1993 | United Parcel Service of America, Inc. | Method and apparatus for decoding bar code symbols using gradient signals |
5414252, | Feb 08 1991 | Fujitsu Limited | High speed scan bar code reader which can read more than one type of bar code |
5418862, | Aug 10 1992 | United Parcel Service of America | Method and apparatus for detecting artifact corners in two-dimensional images |
5428211, | May 02 1994 | United Parcel Service of America, Inc | Postnet bar code decoder |
5438636, | May 14 1992 | United Parcel Service of America, Inc. | Apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities |
5440110, | Jul 31 1992 | PSC SCANNING, INC | Bar code scanner and method of scanning |
5446271, | Aug 06 1993 | PSC SCANNING, INC | Omnidirectional scanning method and apparatus |
5449893, | Apr 02 1992 | Symbol Technologies, Inc. | Digitizer for bar code reader |
5454054, | Jun 09 1989 | Intellectual Ventures Holding 56 LLC | Method and apparatus for recording/reproducing mesh pattern data |
5463214, | Mar 04 1994 | HAND HELD PRODUCTS, INC | Apparatus for optimizing throughput in decoded-output scanners and method of using same |
5464974, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5468953, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5471041, | Jun 22 1992 | Matsushita Electric Industrial Co., Ltd. | Bar-code reader device |
5473151, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5475768, | Apr 29 1993 | CANON INC | High accuracy optical character recognition using neural networks with centroid dithering |
5477045, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5478999, | Aug 10 1992 | United Parcel Service of America, Inc. | Method and apparatus for decoding bar code symbols along search steps |
5479004, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5479515, | May 11 1994 | HAND HELD PRODUCTS, INC | One-dimensional bar code symbology and method of using same |
5481098, | Nov 09 1993 | PSC SCANNING, INC | Method and apparatus for reading multiple bar code formats |
5484999, | May 05 1988 | MICROSCAN SYSTEMS, INC | Dynamically variable machine readable binary code and method for reading and producing thereof |
5486689, | Jan 22 1993 | Intermec Technologies Corporation | Method and apparatus for decoding unresolved multi-width bar code symbology profiles |
5486946, | Dec 21 1994 | Motorola | Integrated electro-optic package for reflective spatial light modulators |
5487115, | May 14 1992 | United Parcel Service | Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images |
5489769, | May 26 1992 | Olympus Optical Co., Ltd. | Symbol information reading apparatus |
5504319, | Feb 09 1994 | Symbol Technologies, Inc. | Method and system for bar code acquisition |
5510603, | |||
5510604, | |||
5510605, | |||
5514858, | Feb 10 1995 | Intermec IP Corporation | Method and apparatus for decoding unresolved complex multi-width bar code symbology profiles |
5515447, | Jun 07 1994 | United Parcel Service of America, Inc. | Method and apparatus for locating an acquisition target in two-dimensional images by detecting symmetry in two different directions |
5523552, | Oct 19 1994 | Symbol Technologies, Inc | Method and apparatus to scan randomly oriented two-dimensional bar code symbols |
5524065, | Feb 07 1992 | Canon Kabushiki Kaisha | Method and apparatus for pattern recognition |
5539191, | Jun 22 1995 | Intermec IP Corporation | Method and apparatus for decoding unresolved bar code profiles using edge finding circuitry |
5545888, | Jun 16 1989 | Symbol Technologies Inc. | Digitizer circuit for a bar code reader |
5548346, | Nov 05 1993 | Hitachi, Ltd. | Apparatus for integrally controlling audio and video signals in real time and multi-site communication control method |
5550363, | Feb 25 1993 | NIPPONDENSO CO , LTD | Optical information reading apparatus |
5557689, | Nov 19 1991 | Xerox Corporation | Optical word recognition by examination of word shape |
5561720, | Sep 27 1990 | CGK Computer Gesellschaft Konstanz mbH | Method for extracting individual characters from raster images of a read-in handwritten or typed character sequence having a free pitch |
5565669, | Sep 06 1995 | Intermec IP Corporation | Orientation independent method for robust computing of X-dimensions in code one symbols |
5583949, | Mar 03 1989 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Apparatus and method for use in image processing |
5588072, | Dec 22 1993 | Canon Kabushiki Kaisha | Method and apparatus for selecting blocks of image data from image data having both horizontally- and vertically-oriented blocks |
5591952, | Mar 01 1989 | Symbol Technologies | Bar code reader |
5591956, | May 15 1995 | Welch Allyn Data Collection, Inc | Two dimensional data encoding structure and symbology for use with optical readers |
5610025, | Jan 31 1992 | ACTIMED LABORATORIES, INC | Inhibition of interfering endogenous enzyme activity in assays of biological fluids |
5610995, | Jun 06 1995 | United Parcel Service of America, Inc | Method and apparatus for compressing images containing optical symbols |
5616905, | Feb 24 1994 | Kabushiki Kaisha TEC | Two-dimensional code recognition method |
5637856, | May 08 1990 | Symbol Technologies, Inc. | Scanning system and scanning method with scan pattern control for reading 1-D and 2-D barcode symbols |
5644765, | Dec 09 1993 | Canon Kabushiki Kaisha | Image retrieving method and apparatus that calculates characteristic amounts of data correlated with and identifying an image |
5649027, | Jul 24 1992 | Microsoft Technology Licensing, LLC | Recognition of handwritten words |
5670771, | Sep 05 1995 | Fujitsu Limited | Apparatus for reading a bar code |
5680478, | Apr 24 1992 | Canon Kabushiki Kaisha | Method and apparatus for character recognition |
5719385, | Dec 08 1995 | NCR Corporation | Optical scanner having multi-line and single-line scanning modes |
5723853, | Jan 10 1995 | HAND HELD PRODUCTS, INC | Bar code reader |
5727094, | Mar 15 1994 | Kabushiki Kaisha Toshiba | Method and system for processing images capable of transition of a plurality of states for display |
5739518, | May 17 1995 | Symbol Technologies, LLC | Autodiscrimination for dataform decoding and standardized recording |
5742041, | May 29 1996 | Intermec IP Corporation | Method and apparatus for locating and decoding machine-readable symbols, including data matrix symbols |
5756981, | Feb 27 1992 | Symbol Technologies, Inc | Optical scanner for reading and decoding one- and-two-dimensional symbologies at variable depths of field including memory efficient high speed image processing means and high accuracy image analysis means |
5767978, | Jan 21 1997 | Xerox Corporation | Image segmentation system |
5773806, | Jul 20 1995 | Welch Allyn Data Collection, Inc | Method and apparatus for capturing a decodable representation of a 2D bar code symbol using a hand-held reader having a 1D image sensor |
5773810, | Mar 29 1996 | Welch Allyn Data Collection, Inc | Method for generating real time degree of focus signal for handheld imaging device |
5777309, | Oct 30 1995 | Intermec Technologies Corporation | Method and apparatus for locating and decoding machine-readable symbols |
5777314, | Feb 27 1992 | Symbol Technologies, Inc | Optical scanner with fixed focus optics |
5778133, | Apr 29 1994 | Symbol Technologies, Inc | Nonimaging light collector |
5786582, | Feb 27 1992 | Symbol Technologies, Inc | Optical scanner for reading and decoding one- and two-dimensional symbologies at variable depths of field |
5791271, | Oct 18 1996 | Brother Kogyo Kabushiki Kaisha | Embroidery data processing device and method |
5793899, | Jun 01 1992 | Cognex Corporation | Vision coprocessing |
5796868, | Dec 28 1995 | Cognex Corporation | Object edge point filtering system for machine vision |
5805728, | Aug 22 1994 | Matsushita Electric Industrial Co., Ltd. | Edge line measuring method |
5811776, | Feb 26 1996 | Intermec IP Corporation | Method and apparatus for accurately locating data regions in stored images of symbols |
5811785, | Oct 21 1988 | Symbol Technologies, Inc. | Scanning system with adjustable light output and/or scanning angle |
5818023, | Feb 05 1996 | Symbol Technologies, LLC | Portable ID card verification apparatus |
5818970, | Apr 26 1991 | Canon Kabushiki Kaisha | Image encoding apparatus |
5825006, | Mar 04 1994 | Welch Allyn Data Collection, Inc | Optical reader having improved autodiscrimination features |
5844219, | Jun 23 1995 | Hypercom Corporation | POS terminal with replaceable printer cartridge |
5845007, | Jan 02 1996 | Cognex Corporation | Machine vision method and apparatus for edge-based image histogram analysis |
5854478, | Oct 11 1996 | Intermec IP Corporation | Method and apparatus for reading machine-readable symbols having surface or optical distortions |
5854853, | Dec 22 1993 | Canon Kabushika Kaisha | Method and apparatus for selecting blocks of image data from image data having both horizontally- and vertically-oriented blocks |
5859929, | Dec 01 1995 | United Parcel Service of America, Inc. | System for character preserving guidelines removal in optically scanned text |
5862267, | Dec 11 1995 | Intermec IP Corporation | Method and apparatus for locating data regions in stored images of symbols |
5867277, | Apr 15 1994 | Canon Kabushiki Kaisha | Reduced resolution document storage and retrieval system |
5889270, | Jul 24 1992 | CIAS, Inc. | Bar code decoding using moving averages to break the (N.K.) code barrier for UPC, EAN, code 128 and others |
5902987, | Feb 20 1997 | Intermec IP Corporation | Apparatus and method of rapidly locating edges of machine-readable symbols or other linear images |
5914476, | Nov 04 1997 | Welch Allyn Data Collection, Inc | Optical reader configured to accurately and rapidly read multiple symbols |
5929421, | Oct 14 1992 | Spectra-Physics Scanning Systems, Inc. | Method and apparatus for recognizing and assembling optical code information from partially scanned segments |
5942741, | Mar 04 1994 | HAND HELD PRODUCTS, INC | Apparatus for optimizing throughput in decoded-output scanners and method of using same |
5943441, | Dec 06 1995 | Cognex Corporation | Edge contour tracking from a first edge point |
5949052, | Oct 17 1997 | Welch Allyn Data Collection, Inc | Object sensor system for stationary position optical reader |
5953130, | Jan 06 1997 | AMETEK, INC | Machine vision methods and apparatus for machine vision illumination of an object |
5965863, | Mar 04 1994 | HAND HELD PRODUCTS, INC | Optical reader system comprising local host processor and optical reader |
5969325, | Jun 03 1996 | ACCU-SORT SYSTEMS, INC | High speed image acquisition system and method of processing and decoding barcode symbol |
5979763, | Oct 13 1995 | Symbol Technologies, LLC | Sub-pixel dataform reader with dynamic noise margins |
5982927, | Dec 19 1996 | Cognex Corporation | Methods and apparatuses for in-line solder paste inspection |
5984366, | Jul 26 1994 | TRANSPACIFIC SILICA, LLC | Unalterable self-verifying articles |
5987172, | Dec 06 1995 | Cognex Corporation | Edge peak contour tracker |
5992753, | Oct 30 1997 | Symbol Technologies, LLC | Hand held dataform reader utilizing binarization process for dataform and signature area capture |
5996895, | Oct 21 1988 | Symbol Technologies, Inc. | Scanning system with adjustable light output and/or scanning angle |
5999647, | Apr 21 1995 | Matsushita Electric Industrial Co., Ltd. | Character extraction apparatus for extracting character data from a text image |
6000612, | Oct 10 1997 | Symbol Technologies, LLC | Portable data collection device having optical character recognition |
6002793, | Jan 30 1992 | Cognex Corporation | Machine vision method and apparatus for finding an object orientation angle of a rectilinear object |
6005978, | Feb 07 1996 | COGNEX CORPROATION | Robust search for image features across image sequences exhibiting non-uniform changes in brightness |
6035066, | Jun 02 1995 | Cognex Corporation | Boundary tracking method and apparatus to find leads |
6062475, | Jun 25 1997 | Symbol Technologies, LLC | Portable data collection device including color imaging dataform reader assembly |
6064763, | Jul 26 1996 | Intermec IP Corporation | Time-efficient method of analyzing imaged input data to locate two-dimensional machine-readable symbols or other linear images therein |
6082621, | Apr 02 1992 | Symbol Technologies, Inc | Interface between threshold processing digitizer for bar code reader |
6097839, | Mar 10 1997 | Intermec IP Corporation | Method and apparatus for automatic discriminating and locating patterns such as finder patterns, or portions thereof, in machine-readable symbols |
6115497, | Apr 24 1992 | Canon Kabushiki Kaisha | Method and apparatus for character recognition |
6119943, | Dec 12 1994 | WILMINGTON TRUST, NATIONAL ASSOCIATION, AS SUCCESSOR TRUSTEE AND COLLATERAL AGENT | Multi-layer bar code arrangement using wavelength separation |
6129278, | May 19 1994 | Symbol Technologies, LLC | Detecting image cell position with subpixel accuracy |
6137907, | Sep 23 1998 | Xerox Corporation | Method and apparatus for pixel-level override of halftone detection within classification blocks to reduce rectangular artifacts |
6152371, | Aug 12 1998 | HAND HELD PRODUCTS, INC | Method and apparatus for decoding bar code symbols |
6155488, | Aug 25 1995 | PSC, INC | Optical reader with adaptive exposure control |
6157749, | Mar 05 1997 | Canon Kabushiki Kaisha | Image processing apparatus and method, and storing medium |
6175663, | Feb 24 1998 | Resource Consortium Limited | Method and apparatus for preserving background continuity in images |
6181839, | Aug 23 1996 | Matsushita Electric Industrial Co., Ltd. | Two-dimensional code reader |
6212299, | Dec 11 1992 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for recognizing a character |
6230975, | Aug 25 1995 | PSC, Inc. | Optical reader with adaptive exposure control |
6233353, | Jun 29 1998 | Xerox Corporation | System for segmenting line drawings from text within a binary digital image |
6250551, | Jun 12 1998 | Symbol Technologies, LLC | Autodiscrimination and line drawing techniques for code readers |
6264105, | Nov 05 1998 | HAND HELD PRODUCTS, INC | Bar code reader configured to read fine print barcode symbols |
6298175, | Oct 17 1997 | Welch Allyn Data Collection, Inc | Object sensor system comprising controlled light source |
6298176, | Oct 17 1997 | HAND HELD PRODUCTS, INC | Symbol-controlled image data reading system |
6299064, | Sep 28 1998 | Fujitsu Limited | Apparatus and method for correcting bar width, bar code reader, and method for decoding bar code |
6328213, | Jun 12 1998 | Symbol Technologies, LLC | Method of processing an analog electrical signal containing information representative of reflected light from coded indicia, wherein the electrical signal contains edge transitions |
6347163, | Oct 26 1994 | Symbol Technologies, Inc | System for reading two-dimensional images using ambient and/or projected light |
6371373, | May 25 1999 | Matsushita Electric Industrial Co., Ltd. | Method for reading a two-dimensional barcode |
6381364, | Dec 31 1996 | Intel Corporation | Content texture sensitive picture/video encoder/decoder |
6385352, | Oct 26 1994 | Symbol Technologies, LLC | System and method for reading and comparing two-dimensional images |
6386454, | Jun 03 1996 | DATALOGIC AUTOMATION, INC | Detecting bar code candidates |
6516096, | Oct 25 1996 | Fuji Xerox Co., Ltd. | Image encoding apparatus and image decoding apparatus |
6549660, | Feb 12 1996 | Massachusetts Institute of Technology | Method and apparatus for classifying and identifying images |
6549681, | Sep 26 1995 | Canon Kabushiki Kaisha | Image synthesization method |
6565003, | Dec 16 1998 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
6575367, | Nov 05 1998 | Welch Allyn Data Collection, Inc | Image data binarization methods enabling optical reader to read fine print indicia |
6601772, | Jul 14 2000 | PATIENTSAFE SOLUTIONS, INC | Compact matrix code and one-touch device and method for code reading |
6631842, | Jun 07 2000 | Metrologic Instruments, Inc | Method of and system for producing images of objects using planar laser illumination beams and image detection arrays |
6647131, | Aug 27 1999 | Intel Corporation | Motion detection using normal optical flow |
6655595, | Nov 05 1998 | HAND HELD PRODUCTS, INC | Bar code reader configured to read fine print bar code symbols |
6685095, | May 05 1998 | PSION INC | Apparatus and method for decoding damaged optical codes |
6695209, | Oct 04 1999 | PSC SCANNING, INC | Triggerless optical reader with signal enhancement features |
6703633, | Aug 16 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY L P | Method and apparatus for authenticating a signature |
6981644, | Nov 03 2001 | COLORZIP MEDIA, INC | Apparatus and method for recognizing code |
7006694, | Oct 05 2000 | TELEDYNE DALSA INDUSTRIAL PRODUCTS, INC | System and method for pattern identification |
7007852, | Jul 15 1997 | Google Inc | Data distribution mechanism in the form of ink dots on cards |
7024027, | Nov 13 2001 | Koninklijke Philips Electronics N V | Method and apparatus for three-dimensional filtering of angiographic volume data |
7030881, | Mar 25 2003 | Mitsubishi Electric Research Laboratories, Inc | Method for converting two-dimensional objects to distance fields |
7059524, | Jun 07 1999 | Metrologic Instruments, Inc. | Nuclear resonance based scanning system having an automatic object identification and attribute information acquisition and linking mechanism integrated therein |
7068821, | Jan 29 2001 | Canon Kabushiki Kaisha | Information processing method and apparatus |
7070107, | Jun 07 1999 | Metrologic Instruments, Inc. | Led-based planar light illumination and imaging (PLIIM) systems |
7086595, | Nov 13 2003 | Metrologic Instruments, Inc. | METHOD OF AND APPARATUS FOR PROCESSING CAPTURED DIGITAL IMAGES OF OBJECTS WITHIN A SEMI-AUTOMATIC HAND-SUPPORTABLE IMAGING-BASED BAR CODE SYMBOL READER SO AS TO READ 1D AND/OR 2D BAR CODE SYMBOLS GRAPHICALLY REPRESENTED THEREIN |
7219841, | Nov 05 2004 | HAND HELD PRODUCTS, INC | Device and system for verifying quality of bar codes |
7239346, | Oct 18 1999 | System and architecture that supports a multi-function semiconductor device between networks and portable wireless communications products | |
7261238, | May 26 2006 | Symbol Technologies, LLC | Method of locating imaged bar codes for an imaging-based bar code reader |
7331523, | Jul 13 2001 | HAND HELD PRODUCTS, INC | Adaptive optical image reader |
7347376, | Sep 17 2003 | Hand Held Products, Inc. | Apparatus and method for verifying print quality of an encoded indicium |
7364081, | Dec 02 2003 | Hand Held Products, Inc. | Method and apparatus for reading under sampled bar code symbols |
7387253, | Sep 03 1996 | HAND HELD PRODUCTS, INC | Optical reader system comprising local host processor and optical reader |
7398930, | Mar 04 1994 | HAND-HELD PRODUCTS, INC | Bar code reading device having image data in plurality of different formats |
7413127, | Jul 31 2001 | Hand Held Products, Inc. | Optical reader for classifying an image |
7416125, | Mar 24 2005 | HAND HELD PRODUCTS, INC | Synthesis decoding and methods of use thereof |
20020044689, | |||
20040101191, | |||
20050047655, | |||
20060029183, | |||
20060076423, | |||
20060113387, | |||
20060211071, | |||
20080112613, | |||
JP11284862, | |||
JP4021268, | |||
JP4021270, | |||
JP4021272, | |||
JP5176223, | |||
JP55115166, | |||
JP63246975, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 11 2010 | Hand Held Products, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Date | Maintenance Schedule |
Oct 01 2016 | 4 years fee payment window open |
Apr 01 2017 | 6 months grace period start (w surcharge) |
Oct 01 2017 | patent expiry (for year 4) |
Oct 01 2019 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 01 2020 | 8 years fee payment window open |
Apr 01 2021 | 6 months grace period start (w surcharge) |
Oct 01 2021 | patent expiry (for year 8) |
Oct 01 2023 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 01 2024 | 12 years fee payment window open |
Apr 01 2025 | 6 months grace period start (w surcharge) |
Oct 01 2025 | patent expiry (for year 12) |
Oct 01 2027 | 2 years to revive unintentionally abandoned end. (for year 12) |