Detecting image cell position with subpixel accuracy
First Claim
1. A method for detecting the position of a cell represented in a pixel data image, comprising the steps of:
- (a) acquiring a pixel data image including a representation of said cell;
(b) determining a pixels-per-cell nominal resolution of said pixel data image;
(c) normalizing the resolution of said pixel data image by one of the following (i) reducing said nominal resolution to a pixels-per-cell target resolution having a selected value, and (ii) if said nominal resolution corresponds to said selected value, stabilizing said nominal resolution at said target resolution;
(d) determining a gray level value for each of a plurality of successive pixels along a first axis, including cell coverage pixels intersected by cell edge crossings, each said cell coverage pixel having a gray level value representing the position of said cell edge crossing subject to an ambiguity as to the order along said first axis of complementary pixel portions of said cell coverage pixel respectively inside and outside the area of said cell in said pixel data image;
(e) utilizing the order and magnitudes of a sequence of said gray level values for a group of successive pixels along said first axis (i) to resolve said ambiguity to determine, for each said cell coverage pixel, the order of its said complementary inside and outside portions along said first axis and (ii) to derive cell edge position data;
(f) deriving cell position data for said cell using step (e) cell edge position data; and
(g) utilizing said cell position data from step (f) to provide a virtual image of said cell.
13 Assignments
0 Petitions
Accused Products
Abstract
By providing subpixel accuracy in the detection of the position of an element of a pixel data image, the invention makes possible reductions in scanner and storage resolution of the order of 65 percent or greater for two-dimensional applications. Methods use normalized gray level values to determine the extent of coverage of an image cell by individual pixels. By then applying such gray level values of a plurality of successive pixels to a preconstructed lookup table, ambiguities are resolved to determine the position of cell edges. The cell edge data can be used to determine cell position or used directly in edge-based bar code decoding techniques. Cell position data is used for construction of a virtual image of a bar code or other dataform of interest and virtual image information may then be used for purposes of decoding the bar code or other dataform. For two-dimensional applications, the gray level values of a plurality of successive pixels, as referred to, may be implemented as a sliding window of three such gray level values along successive lines in a first dimension which are applied to a lookup table, followed by repetition for successive lines in a perpendicular dimension, to derive cell edge data for both dimensions.
121 Citations
24 Claims
-
1. A method for detecting the position of a cell represented in a pixel data image, comprising the steps of:
-
(a) acquiring a pixel data image including a representation of said cell; (b) determining a pixels-per-cell nominal resolution of said pixel data image; (c) normalizing the resolution of said pixel data image by one of the following (i) reducing said nominal resolution to a pixels-per-cell target resolution having a selected value, and (ii) if said nominal resolution corresponds to said selected value, stabilizing said nominal resolution at said target resolution; (d) determining a gray level value for each of a plurality of successive pixels along a first axis, including cell coverage pixels intersected by cell edge crossings, each said cell coverage pixel having a gray level value representing the position of said cell edge crossing subject to an ambiguity as to the order along said first axis of complementary pixel portions of said cell coverage pixel respectively inside and outside the area of said cell in said pixel data image; (e) utilizing the order and magnitudes of a sequence of said gray level values for a group of successive pixels along said first axis (i) to resolve said ambiguity to determine, for each said cell coverage pixel, the order of its said complementary inside and outside portions along said first axis and (ii) to derive cell edge position data; (f) deriving cell position data for said cell using step (e) cell edge position data; and (g) utilizing said cell position data from step (f) to provide a virtual image of said cell. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for determining the position of an image cell, represented by cell edges between areas of high and low gray level values in a pixel data image, comprising the steps of:
-
(a) determining a gray level value for each of a plurality of successive pixels of said image along an axis crossing said image cell, including a cell coverage pixel intersected by a cell edge crossing, said cell coverage pixel having a gray level value representing the position of said cell edge crossing subject to an ambiguity as to the order along said axis of complementary pixel portions of said cell coverage pixel respectively inside and outside of the area of said image cell in said pixel data; (b) resolving said ambiguity to determine the position of said cell edge crossing along said axis by referring a first sequence of gray level values for a group of successive pixels including said reference pixel to a lookup facility, said lookup facility responsive to different sequences of gray level values to enable resolution of said ambiguity based on the order and relative magnitudes of gray level values of said first sequence; and (c) deriving cell position data for said image cell using the position of said cell edge crossing as determined in step (b). - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 24)
-
-
23. A method for detecting the position of a cell which is an element of a machine readable dataform, comprising the steps of:
-
(a) acquiring a pixel data image of said dataform, including said cell; (b) determining a pixels-to-cell nominal resolution of said pixel data image; (c) normalizing the resolution of said pixel data image by one of the following (i) reducing said nominal resolution to a pixels-per-cell target resolution, and (ii) if said nominal resolution corresponds to said target resolution, stabilizing said nominal resolution at said target resolution; (d) determining a gray level value for each of a plurality of successive pixels along a first axis, including cell coverage pixels intersected by cell edge crossings, each said cell coverage pixel having a gray level value representing the position of said cell edge crossing subject to an ambiguity as to the order along said first axis of complementary pixel portions of said cell coverage pixel respectively inside and outside the area of said cell in said pixel data image; (e) utilizing the order and magnitudes of a sequence of said gray level values for successive groupings of three successive pixels along said first axis to (i) resolve said ambiguity to determine, for each said cell coverage pixel, the order of its said complementary inside and outside portions along said first axis and (ii) to derive cell edge position data; (f) deriving cell position data for said cell using said step (e) edge position data; (g) repeating steps (d), (e) and (f) for additional cells of said dataform; (h) utilizing said cell position data from step (f) to provide a virtual image of said dataform; and (i) decoding said virtual image to provide output signals representative of data originally encoded in said dataform.
-
Specification