Postnet bar code decoder
First Claim
1. A method for optically reading and decoding a Postnet bar code symbol from a two dimensional digital input image representative of said Postnet bar code symbol, said two dimensional input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented from parallel to approaching perpendicular relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said method comprising the steps of:
- a) optically scanning line-by-line said two dimensional physical surface including said Postnet bar code with a CCD sensor in said scan direction along each line, said physical surface comprised of finite physical surface portions arranged in parallel rows of physical surface portions and parallel columns of physical surface portions, each of said physical surface portions being in one of said rows and also in one of said columns, said rows being substantially parallel to said scan direction;
b) storing data into computer memory as a two dimensional digital input image corresponding to said two dimensional surface, said two dimensional digital input image being comprised of individual gray scale pixel values received from said CCD sensor and each corresponding to one of said surface portions;
c) dividing said two dimensional digital input image into a plurality of non-overlapping elongated two-dimensional digital input image rows, each of which correspond to at least one row of said physical surface portions;
d) identifying one or more transition points within each of said digital input image rows by comparing adjacent pixel values within each of said digital input image rows, said transition point corresponding to at least one pixel;
e) identifying a candidate point within each of said digital input image rows by determining if a preselected number of transition points have a particular spaced-apart relationship within each of said digital input image rows, said spaced-apart relationship dependent upon the spacing of said tall and short bars; and
f) estimating the slope of said bar code relative to said scan direction based upon the location of said candidate points.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is provided which decodes Postnet bar code regardless of position or orientation. By scanning the code, deriving transition points, and assuming various angles at orientation, position and orientation is estimated. Fine tuning and error correction is likewise provided. A localized sorting method is also used for decoding to binary status.
126 Citations
40 Claims
-
1. A method for optically reading and decoding a Postnet bar code symbol from a two dimensional digital input image representative of said Postnet bar code symbol, said two dimensional input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented from parallel to approaching perpendicular relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said method comprising the steps of:
-
a) optically scanning line-by-line said two dimensional physical surface including said Postnet bar code with a CCD sensor in said scan direction along each line, said physical surface comprised of finite physical surface portions arranged in parallel rows of physical surface portions and parallel columns of physical surface portions, each of said physical surface portions being in one of said rows and also in one of said columns, said rows being substantially parallel to said scan direction; b) storing data into computer memory as a two dimensional digital input image corresponding to said two dimensional surface, said two dimensional digital input image being comprised of individual gray scale pixel values received from said CCD sensor and each corresponding to one of said surface portions; c) dividing said two dimensional digital input image into a plurality of non-overlapping elongated two-dimensional digital input image rows, each of which correspond to at least one row of said physical surface portions; d) identifying one or more transition points within each of said digital input image rows by comparing adjacent pixel values within each of said digital input image rows, said transition point corresponding to at least one pixel; e) identifying a candidate point within each of said digital input image rows by determining if a preselected number of transition points have a particular spaced-apart relationship within each of said digital input image rows, said spaced-apart relationship dependent upon the spacing of said tall and short bars; and f) estimating the slope of said bar code relative to said scan direction based upon the location of said candidate points. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for optically reading and decoding a Postnet bar code symbol from a two dimensional digital input image representative of said Postnet bar code symbol, said two dimensional input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented from parallel to approaching perpendicular relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said method comprising the steps of:
-
a) optically scanning line-by-line said two dimensional physical surface including said Postnet bar code with a CCD sensor in a scan direction along said lines, said physical surface comprised of finite physical surface portions arranged in parallel rows of physical surface portions and parallel columns of physical surface portions, each of said physical surface portions being in one of said rows and also in one of said columns, said rows being substantially parallel to said scan direction; b) storing data into computer memory as a two dimensional digital input image corresponding to said two dimensional surface, said two dimensional digital input image being comprised of individual gray scale pixel values received from said CCD sensor and each corresponding to one of said surface portions; c) dividing said two dimensional digital input image into a plurality of non-overlapping elongated two-dimensional digital input image rows, each of which correspond to at least one row of said physical surface portions; d) assuming said bar axis is oriented relative to said scan direction at a first assumed slope less than 45 degrees; e) identifying one or more transition points within each of said digital input image rows by comparing adjacent pixel values within each of said digital input image rows, said transition point corresponding to at least one pixel; f) identifying a candidate point within each of said digital input image rows by determining if a preselected number of transition points have a particular spaced-apart relationship within each of said digital input image rows, said spaced-apart relationship dependent upon the spacing of said tall and short bars; and g) determining if the number of candidate points correspond to those expected for said first assumed slope set forth in step "d"; h) repeating steps "e" and "f" at least once while assuming a second, smaller, assumed slope if step "g" is unsatisfied; and i) if step "g" is satisfied, estimating the slope of said bar code relative to said scan direction based upon the location of said candidate points. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for optically reading and decoding a Postnet bar code symbol from a two dimensional digital input image representative of said bar code symbol, said two dimensional input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented from parallel to approaching perpendicular relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said method comprising the steps of:
-
a) optically scanning said two dimensional physical surface including said Postnet code with a CCD sensor in a scan direction, said physical surface comprised of finite physical surface portions arranged in parallel lines of physical surface portions and parallel columns of physical surface portions, each of said physical surface portions being in one of said rows and also in one of said columns, said columns being substantially parallel to said scan direction; b) storing data into computer memory as a two dimensional digital input image corresponding to said two dimensional surface, said two dimensional digital input image being comprised of individual gray scale pixel values received from said CCD sensor and each corresponding to one of said surface portions; c) dividing said two dimensional digital input image into a plurality of non-overlapping elongated two-dimensional digital input image rows, each of which correspond to at least one row of said physical surface portions; d) identifying one or more transition points within each of said digital input image rows by comparing adjacent pixel values within each of said digital input image rows, said transition point corresponding to at least one pixel; e) identifying a candidate point within each of said digital input image rows by determining if a preselected number of transition points have a particular spaced-apart relationship within each of said digital input image rows, said spaced-apart relationship dependent upon the spacing of said tall and short bars; f) estimating the slope of said bar code relative to said scan direction based upon the location of said candidate points and establishing a slope line; and g) determining of normal or reverse coding by checking the location said slope line intersects a particular Postnet bar relative to the ends of that bar. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A method for decoding a bar code symbol oriented in a bar direction from a two dimensional digital input image representative of said bar code symbol, said two dimensional digital input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said method comprising the steps of:
-
a) dividing said two dimensional input image into a plurality of non-overlapping two dimensional sections, each of said two dimensional sections being bound by first and second reference lines substantially parallel to said bar direction and third and fourth reference lines substantially perpendicular to said bar direction, wherein said first, second, third and fourth reference lines are oriented omnidirectionally with respect to the rows and columns of pixels in said input image; b) determining a plurality of intensity information values representative of the intensities of corresponding sections by summing pixel values derived from said input image lying in each of said sections; c) forming a one-dimensional intensity projection signal by arranging said plurality of intensity information values along an axis, said one dimensional intensity projection signal having a plurality of corresponding peaks having differing heights; d) determining the existence of a bar of the Postnet bar code and its relative length based upon a comparison of the relative heights of said peaks of said one dimensional intensity projection signal.
-
-
20. A method for decoding a bar code symbol oriented in a bar direction from a two dimensional digital input image representative of said bar code symbol, said two dimensional digital input image being comprised of gray scale pixel values received from a CCD sensor, said bar code symbol said Postnet bar code having a bar axis being randomly oriented relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said method comprising the steps of:
-
a) dividing said two dimensional input image into a plurality of non-overlapping two dimensional sections, each of said two dimensional sections being bound by first and second reference lines substantially parallel to said bar direction and third and fourth reference lines substantially perpendicular to said bar direction, wherein said first, second, third and fourth reference lines are oriented omnidirectionally with respect to the rows and columns of pixels in said input image; b) determining a plurality of intensity information values representative of the intensities of corresponding sections by summing pixel values derived from said input image lying in each of said sections; c) locally sorting said plurality of intensity information values by positivity or negativity to create a plurality of locally sorted groups each sharing either negative or positive intensity information values; d) selecting from each group the intensity information value having the highest absolute value to create an ordered set of absolute values; and e) determining the existence of a bar of the Postnet bar code and its relative length based upon a comparison of adjacent absolute values within said set of absolute values.
-
-
21. An apparatus for optically reading and decoding a Postnet bar code symbol from a two dimensional digital input image representative of said Postnet bar code symbol, said two dimensional input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented from parallel to approaching perpendicular relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said apparatus comprising:
-
a) a CCD sensor for optically scanning line-by-line said two dimensional physical surface including said Postnet bar code in said scan direction along each line, said physical surface comprised of finite physical surface portions arranged in parallel rows of physical surface portions and parallel columns of physical surface portions, each of said physical surface portions being in one of said rows and also in one of said columns, said rows being substantially parallel to said scan direction; b) computer memory for storing data as a two dimensional digital input image corresponding to said two dimensional surface, said two dimensional digital input image being comprised of individual gray scale pixel values received from said CCD sensor and each corresponding to one of said surface portions; c) a processor for dividing said two dimensional digital input image into a plurality of non-overlapping elongated two-dimensional digital input image rows, each of which correspond to at least one row of said physical surface portions; d) a processor for identifying one or more transition points within each of said digital input image rows by comparing adjacent pixel values within each of said digital input image rows, said transition point corresponding to at least one pixel; e) a processor for identifying a candidate point within each of said digital input image rows by determining if a preselected number of transition points have a particular spaced-apart relationship within each of said digital input image rows, said spaced-apart relationship dependent upon the spacing of said tall and short bars; and f) a processor for estimating the slope of said bar code relative to said scan direction based upon the location of said candidate points. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. An apparatus for optically reading and decoding a Postnet bar code symbol from a two dimensional digital input image representative of said Postnet bar code symbol, said two dimensional input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented from parallel to approaching perpendicular relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, said apparatus comprising:
-
a) a CCD sensor for optically scanning line-by-line said two dimensional physical surface including said Postnet bar code in a scan direction along said lines, said physical surface comprised of finite physical surface portions arranged in parallel rows of physical surface portions and parallel columns of physical surface portions, each of said physical surface portions being in one of said rows and also in one of said columns, said rows being substantially parallel to said scan direction; b) computer memory for storing data as a two dimensional digital input image corresponding to said two dimensional surface, said two dimensional digital input image being comprised of individual gray scale pixel values received from said CCD sensor and each corresponding to one of said surface portions; c) a processor for dividing said two dimensional digital input image into a plurality of non-overlapping elongated two-dimensional digital input image rows, each of which correspond to at least one row of said physical surface portions; d) a processor for assuming said bar axis is oriented relative to said scan direction at a first assumed slope less than 45 degrees; e) a processor for identifying one or more transition points within each of said digital input image rows by comparing adjacent pixel values within each of said digital input image rows, said transition point corresponding to at least one pixel; f) a processor for identifying a candidate point within each of said digital input image rows by determining if a preselected number of transition points have a particular spaced-apart relationship within each of said digital input image rows, said spaced-apart relationship dependent upon the spacing of said tall and short bars; and g) a processor for determining if the number of candidate points correspond to those expected for said first assumed slope set forth in step "d"; h) a processor for repeating the processes in elements "e" and "f" at least once while assuming a second, smaller, assumed slope if step "g" is unsatisfied; and i) a processor used if step "g" is satisfied, estimating the slope of said bar code relative to said scan direction based upon the location of said candidate points. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. An apparatus for optically reading and decoding a Postnet bar code symbol from a two dimensional digital input image representative of said Postnet bar code symbol, said two dimensional input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented from parallel to approaching perpendicular relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, comprising:
-
a) a CCD sensor for optically scanning said two dimensional physical surface including said Postnet code in a scan direction, said physical surface comprised of finite physical surface portions arranged in parallel rows of physical surface portions and parallel columns of physical surface portions, each of said physical surface portions being in one of said rows and also in one of said columns, said columns being substantially parallel to said scan direction; b) a processor for storing data into a two dimensional digital input image corresponding to said two dimensional surface, said two dimensional digital input image being comprised of individual gray scale pixel values received from said CCD sensor and each corresponding to one of said surface portions; c) a processor for dividing said two dimensional digital input image into a plurality of non-overlapping elongated two-dimensional digital input image rows, each of which correspond to at least one row of said physical surface portions; d) a processor for identifying one or more transition points within each of said digital input image rows by comparing adjacent pixel values within each of said digital input image rows, said transition point corresponding to at least one pixel; e) a processor for identifying a candidate point within each of said digital input image rows by determining if a preselected number of transition points have a particular spaced-apart relationship within each of said digital input image rows, said spaced-apart relationship dependent upon the spacing of said tall and short bars; f) a processor for estimating the slope of said bar code relative to said scan direction based upon the location of said candidate points and establishing a slope line; and g) a processor for determining of normal or reverse coding by checking the location said slope line intersects a particular Postnet bar relative to the ends of that bar. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. An apparatus for decoding a Postnet bar code symbol oriented in a bar direction from a two dimensional digital input image representative of said bar code symbol, said two dimensional digital input image being comprised of gray scale pixel values received from a CCD sensor, said Postnet bar code having a bar axis being randomly oriented relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, comprising:
-
a) a processor for dividing said two dimensional input image into a plurality of non-overlapping two dimensional sections, each of said two dimensional sections being bound by first and second reference lines substantially parallel to said bar direction and third and fourth reference lines substantially perpendicular to said bar direction, wherein said first, second, third and fourth reference lines are oriented omnidirectionally with respect to the rows and columns of pixels in said input image; b) a processor for determining a plurality of intensity information values representative of the intensities of corresponding sections by summing pixel values derived from said input image lying in each of said sections; c) a processor for forming a one-dimensional intensity projection signal by arranging said plurality of intensity information values along an axis, said one dimensional intensity projection signal having a plurality of corresponding peaks having differing heights; d) a processor for determining the existence of a bar of the Postnet bar code and its relative length based upon a comparison of the relative heights of said peaks of said one dimensional intensity projection signal.
-
-
40. An apparatus for decoding a Postnet bar code symbol oriented in a bar direction from a two dimensional digital input image representative of said bar code symbol, said two dimensional digital input image being comprised of gray scale pixel values received from a CCD sensor, said bar code symbol said Postnet bar code having a bar axis being randomly oriented relative to a scan direction and located on a two-dimensional substantially planar physical surface and including a plurality of substantially parallel spaced-apart tall and short bars with all bars extending in a common direction from said bar axis, comprising:
-
a) a processor for dividing said two dimensional input image into a plurality of non-overlapping two dimensional sections, each of said two dimensional sections being bound by first and second reference lines substantially parallel to said bar direction and third and fourth reference lines substantially perpendicular to said bar direction, wherein said first, second, third and fourth reference lines are oriented omnidirectionally with respect to the rows and columns of pixels in said input image; b) a processor for determining a plurality of intensity information values representative of the intensities of corresponding sections by summing pixel values derived from said input image lying in each of said sections; c) a processor for locally sorting said plurality of intensity information values by positivity or negativity to create a plurality of locally sorted groups each sharing either negative or positive intensity information values; d) a processor for selecting from each group the intensity information value having the highest absolute value to create an ordered set of absolute values; and e) a processor for determining the existence of a bar of the Postnet bar code and its relative length based upon a comparison of adjacent absolute values within said set of absolute values.
-
Specification