Method and apparatus for accurately locating data regions in stored images of symbols
First Claim
1. A method for computing a location of data regions in a stored image of a symbol, the symbol including a plurality of symbol characters and a recognition pattern having an outermost bar and at least one vertical reference pattern extending perpendicularly from the recognition pattern, the method comprising the steps of:
- locating a position of a first end portion and a second end portion of the outermost bar of the recognition pattern in the stored image, wherein the stored image may include distortions of the symbol;
locating a position of a root portion at an intersection between the at least one vertical reference pattern and the outermost bar in the stored image;
locating a position of an outermost portion at a free end of each of the at least one vertical reference pattern in the stored image;
determining a position of a first corner portion and a second corner portion for the symbol in the stored image by extending at least one line from the outermost portion of each at least one vertical reference pattern a predetermined distance in a predetermined direction; and
defining at least first and second areas enclosing at least some of the plurality of symbol characters in the data regions of the symbol, the first area being defined by the positions of the first end portion, the first corner portion, the root portion, and the outermost portion, and the second area being defined by the second end portion, the second corner portion, the root portion, and the outermost portion.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus locates multiple "bounding boxes" within an image of a symbol located within an image stored by a reader. The symbol preferably has a recognition pattern with an longitudinally extending bar and at least one vertically extending reference bar, such as in the Code One symbology. The method locates the positions of landmark points within the stored image. Landmark points include points at the end of the longitudinally extending bar, points at the corner or root formed between the longitudinally extending bar and the vertically extending bar, points at the ends of the vertically extending bars, and points at the intersection between the bars and blocks that extend transversely therefrom. Based on the locations of the landmark points, horizontal and vertical line functions are defined between collinear landmark points. Based on the intersection of the line functions, multiple bounding boxes are constructed to determine the periphery and all data areas of the symbol within the stored image.
49 Citations
21 Claims
-
1. A method for computing a location of data regions in a stored image of a symbol, the symbol including a plurality of symbol characters and a recognition pattern having an outermost bar and at least one vertical reference pattern extending perpendicularly from the recognition pattern, the method comprising the steps of:
-
locating a position of a first end portion and a second end portion of the outermost bar of the recognition pattern in the stored image, wherein the stored image may include distortions of the symbol; locating a position of a root portion at an intersection between the at least one vertical reference pattern and the outermost bar in the stored image; locating a position of an outermost portion at a free end of each of the at least one vertical reference pattern in the stored image; determining a position of a first corner portion and a second corner portion for the symbol in the stored image by extending at least one line from the outermost portion of each at least one vertical reference pattern a predetermined distance in a predetermined direction; and defining at least first and second areas enclosing at least some of the plurality of symbol characters in the data regions of the symbol, the first area being defined by the positions of the first end portion, the first corner portion, the root portion, and the outermost portion, and the second area being defined by the second end portion, the second corner portion, the root portion, and the outermost portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for computing bounding boxes of a Code One symbol in a stored image of the symbol having a recognition pattern, including a top bar adjacent an upper data region and a lower bar adjacent a lower data region, and at least four vertical reference bars, each having a foot end away from the recognition pattern, a root portion and a block positioned therebetween, the four vertical reference bars including first and second vertical reference bars whose root portion is contiguous with the top bar, and third and fourth vertical reference bars whose root portion is contiguous with the lower bar, wherein the upper and lower data regions contain a plurality of symbol characters, the method comprising the steps of:
-
locating a position of a first end point and a second end point of the top bar in the stored image, wherein the stored image may include distortions of the symbol; locating a position of root points at the root portions of the first and second vertical reference bars from at least one of the first and second end points in the stored image; locating in the stored image an inner corner point of each of the block portions of the first and second vertical reference bars from the root points of the first and second vertical reference bars, respectively; crossing the block portions of the first and second vertical reference bars to locate outer corner points of each of the blocks of the first and second vertical reference bars; locating in the stored image inner corner points of the foot of the first and second vertical reference bars from the outer corner points of the first and second vertical reference bars, respectively; crossing the foot of the first and second vertical reference bars to reach a top point of the first and second vertical reference bars; projecting from the root points of the first and second vertical reference bars in a second predetermined direction along the recognition pattern; determining the location of root points of the root portion of the third and fourth vertical reference bars in the stored image; locating in the stored image an inner corner point of each of the block portions of the third and fourth vertical reference bars from the root points of the third and fourth vertical reference bars, respectively; crossing the block portions of the third and fourth vertical reference bars to locate outer corner points of each of the blocks of the third and fourth vertical reference bars; locating in the stored image the inner corner points of the foot of the third and fourth vertical reference bars from the outer corner points of the third and fourth vertical reference bars, respectively; crossing the foot of the third and fourth vertical reference bars to reach bottom points of the third and fourth vertical reference bars; determining a plurality of vertical line functions for each of the first, second, third and fourth vertical reference bars, based on the root points and top or bottom points of each vertical reference bar; determining a plurality of horizontal linear functions, each linear function based on the top points, bottom points, corner points of the first and second vertical reference bars, and corner points of the third and fourth vertical reference bars; and defining a plurality of upper and a plurality of lower bounding boxes based on intersections of the plurality of vertical line and horizontal linear functions, the plurality of bounding boxes enclosing the upper and lower data regions of the Code One symbol. - View Dependent Claims (13, 14, 15)
-
-
16. An apparatus for decoding a machine-readable symbol representing encoded information, the symbol having a recognition pattern with an outermost bar and at least one vertical reference pattern extending approximately perpendicular from the recognition pattern, the apparatus comprising:
-
a sensor that receives light reflected from the symbol and produces an output signal therefrom; a receiver that receives the output signal and produces a data signal indicative of the encoded information, the recognition pattern and the at least one vertical reference pattern, wherein the data signal may represent distortions of the symbol; and a processor for decoding the encoded information encoded in the symbol, the processor being programmed to (a) locate a position of a first end point and a second end point of the outermost bar of the recognition pattern from the data signal, (b) locate a position of each of the vertical reference patterns and an outermost point of each of the at least one vertical reference patterns from the data signal, (c) determine a position of a first corner point and a second corner point for the symbol by calculating at least one line from the outermost points a predetermined distance in a predetermined direction, (d) define a plurality of bounding boxes using the positions of the first end point, the second end point, the first corner point, the second corner point, the outermost points and the positions of the at least one vertical reference patterns, and (e) decode the encoded information within the plurality of bounding boxes. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method for computing a location of at least one data region in a stored image of a symbol, the symbol including a recognition pattern having an outermost bar and at least one vertical reference pattern extending perpendicularly from the recognition pattern, the method comprising the steps of:
-
locating the outermost bar and at least one vertical reference pattern of the recognition pattern; and dividing the at least one data region of the stored image of the symbol into a plurality of regions based on the located position of the outermost bar and at least one vertical reference pattern.
-
Specification