At least some embodiments of the present invention relate to methods for stitching barcodes captured over multiple images. In an embodiment, the method includes capturing a first and second portions of a barcode in respective images, determining a presence of a match between the two captured portions, stitching the two portions pursuant to the match, and validating the combined string with the assistance of a reference mark.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of stitching a machine-readable code representing an encoded string, the method comprising: in a first image, optoelectrically capturing a first portion of the machine-readable code, the first portion extending to a first boundary; in a second image, optoelectrically capturing a second portion of the machine-readable code, the second portion being different from the first portion, the second portion extending to a second boundary; determining a presence of a match between a first matching part of the first portion and a second matching part of the second portion, the first matching part abutting the first boundary and the second matching part abutting the second boundary; responsive to the presence of the match, determining a presence of an overlap between the first matching part and the second matching part; and responsive to the presence of the overlap, stitching the first portion of the machine-readable code with the second portion of the machine-readable code, the stitching being based at least in part on the overlap, wherein the determining the presence of the overlap includes: determining a presence of a reference mark in the first image and in the second image; determining a first relative location of the reference mark relative to the first matching part; determining a second relative location of the reference mark relative to the second matching part; and evaluating the first relative location and the second relative location.
2. The method of claim 1 , wherein the first boundary is one of an edge of the first image or a boundary separating a decodable part and a non-decodable part of a first section of the machine-readable code captured in the first image.
3. The method of claim 2 , wherein the second boundary is one of an edge of the second image or a boundary separating a decodable part and a non-decodable part of a second section of the machine-readable code captured in the second image.
4. The method of claim 1 , wherein the evaluating the first relative location and the second relative location includes: subtracting one of the first relative location or the second relative location from the other one of the first relative location or the second relative location to obtain a resulting value; and determining the presence of the overlap based at least in part on the resulting value.
5. The method of claim 1 , further comprising: correcting a first distortion in the first image, the correcting the first distortion being based at least in part on a predefined characteristic of the machine-readable code and a modified presence of the predefined characteristic in the first portion of the machine-readable code.
6. The method of claim 5 , further comprising: correcting a second distortion in the second image, the correcting the second distortion being based at least in part on the predefined characteristic and a modified presence of the predefined characteristic in the second portion of the machine-readable code.
7. The method of claim 1 , wherein the stitching the first portion of the machine-readable code with the second portion of the machine-readable code includes at least one of (i) stitching the first portion and the second portion on a pixel-by-pixel level, (ii) stitching the first portion and the second portion on an element-by-element level, (iii) stitching the first portion and the second portion on a codeword-by-codeword level, or (iv) stitching the first portion and the second portion on a decoded character-by-decoded character level.
8. A method of stitching a machine-readable code representing an encoded string, the method comprising: in a first image, optoelectrically capturing a first portion of the machine-readable code, the first portion extending to a first boundary; in a second image, optoelectrically capturing a second portion of the machine-readable code, the second portion being different from the first portion, the second portion extending to a second boundary; determining a presence of a match between a first matching part of the first portion and a second matching part of the second portion, the first matching part abutting the first boundary and the second matching part abutting the second boundary; responsive to the presence of the match, stitching the first portion of the machine-readable code with the second portion of the machine-readable code, the stitching being based at least in part on the match and producing a stitched element; and verifying a validity of the stitched element by: determining a presence of a reference mark in the first image and in the second image; determining a first position of the reference mark relative to the first matching part; determining a second position of the reference mark relative to the second matching part; and evaluating the first position and the second position.
9. The method of claim 8 , wherein the determining the first position of the reference mark relative to the first matching part includes determining a first relative location of the reference mark relative to the first matching part, wherein determining the second position of the reference mark relative to the second matching part includes determining a second relative location of the reference mark relative to the second matching part; and wherein the evaluating the first position and the second position includes evaluating the first relative location and the second relative location.
10. The method of claim 9 , wherein the evaluating the first relative location and the second relative location includes: subtracting one of the first relative location or the second relative location from the other one of the first relative location or the second relative location to obtain a resulting value; determining that the stitched element is valid when the resulting value is within a predetermined threshold; and determining that the stitched element is invalid when the resulting value is outside of the predetermined threshold.
11. The method of claim 8 , further comprising: responsive to the stitched element being invalid, adjusting an overlap between the first matching part and the second matching part, the overlap being present in the stitched element.
12. The method of claim 8 , further comprising: correcting a first distortion in the first image, the correcting the first distortion being based at least in part on a predefined characteristic of the machine-readable code and a modified presence of the predefined characteristic in the first portion of the machine-readable code.
13. The method of claim 12 , further comprising: correcting a second distortion in the second image, the correcting the second distortion being based at least in part on the predefined characteristic and a modified presence of the predefined characteristic in the second portion of the machine-readable code.
14. The method of claim 8 , wherein the first boundary is one of an edge of the first image or a boundary separating a decodable part and a non-decodable part of a first section of the machine-readable code captured in the first image, and wherein the second boundary is one of an edge of the second image or a boundary separating a decodable part and a non-decodable part of a second section of the machine-readable code captured in the second image.
15. The method of claim 8 , wherein the stitching the first portion of the machine-readable code with the second portion of the machine-readable code includes at least one of (i) stitching the first portion and the second portion on a pixel-by-pixel level, (ii) stitching the first portion and the second portion on an element-by-element level, (iii) stitching the first portion and the second portion on a codeword-by-codeword level, or (iv) stitching the first portion and the second portion on a decoded character-by-decoded character level.
16. A method of stitching a machine-readable code representing an encoded string, the method comprising: in a first image, optoelectrically capturing a first portion of the machine-readable code, the first portion extending to a first boundary; in a second image, optoelectrically capturing a second portion of the machine-readable code, the second portion being different from the first portion, the second portion extending to a second boundary; determining a presence of a match between a first matching part of the first portion and a second matching part of the second portion, the first matching part abutting the first boundary and the second matching part abutting the second boundary; determining a first overlap between the first matching part and the second matching part, the first overlap being one of a complete overlap or a partial overlap; responsive to the presence of the match, stitching the first portion of the machine-readable code with the second portion of the machine-readable code, the stitching being based at least in part on the first overlap and producing a stitched element; and verifying a validity of the stitched element by: determining a presence of a reference mark in the first image and in the second image; determining a first position of the reference mark in the first image; determining a second position of the reference mark in the second image; and evaluating the first position and the second position.
17. The method of claim 16 , wherein the first boundary is one of an edge of the first image or a boundary separating a decodable part and a non-decodable part of a first section of the machine-readable code captured in the first image, and wherein the second boundary is one of an edge of the second image or a boundary separating a decodable part and a non-decodable part of a second section of the machine-readable code captured in the second image.
18. The method of claim 16 , wherein the determining the first position of the reference mark includes determining a first relative location of the reference mark relative to the first matching part, wherein determining the second position of the reference mark includes determining a second relative location of the reference mark relative to the second matching part; and wherein the evaluating the first position and the second position includes evaluating the first relative location and the second relative location.
19. The method of claim 18 , wherein the evaluating the first relative location and the second relative location includes: subtracting one of the first relative location or the second relative location from the other one of the first relative location or the second relative location to obtain a resulting value; determining that the stitched element is valid when the resulting value is within a predetermined threshold; and determining that the stitched element is invalid when the resulting value is outside of the predetermined threshold.
20. The method of claim 16 , further comprising: responsive to the stitched element being invalid, adjusting the first overlap from the one of the complete overlap or the partial overlap to another of the complete overlap or the partial overlap.
21. The method of claim 16 , further comprising: correcting a first distortion in the first image, the correcting the first distortion being based at least in part on a predefined characteristic of the machine-readable code and a modified presence of the predefined characteristic in the first portion of the machine-readable code; and correcting a second distortion in the second image, the correcting the second distortion being based at least in part on the predefined characteristic and a modified presence of the predefined characteristic in the second portion of the machine-readable code.
22. The method of claim 16 , wherein the stitching the first portion of the machine-readable code with the second portion of the machine-readable code includes at least one of (i) stitching the first portion and the second portion on a pixel-by-pixel level, (ii) stitching the first portion and the second portion on an element-by-element level, (iii) stitching the first portion and the second portion on a codeword-by-codeword level, or (iv) stitching the first portion and the second portion on a decoded character-by-decoded character level.
23. A method of stitching a machine-readable code representing an encoded string, the method comprising: in a first image, optoelectrically capturing a first portion of the machine-readable code, the first portion extending to a first boundary; in a second image, optoelectrically capturing a second portion of the machine-readable code, the second portion being different from the first portion, the second portion extending to a second boundary; determining a presence of a match between a first matching part of the first portion and a second matching part of the second portion, the first matching part abutting the first boundary and the second matching part abutting the second boundary; responsive to the presence of the match, determining a presence of an overlap between the first matching part and the second matching part; responsive to the presence of the overlap, stitching the first portion of the machine-readable code with the second portion of the machine-readable code, the stitching being based at least in part on the overlap; and correcting a first distortion in the first image, the correcting the first distortion being based at least in part on a predefined characteristic of the machine-readable code and a modified presence of the predefined characteristic in the first portion of the machine-readable code.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 12, 2017
November 27, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.