Decoding distorted symbols
First Claim
1. A method for decoding distorted symbols, the method comprising:
- at train-time;
acquiring a training image of a two-dimensional (2D) code symbol disposed on a train-time surface using a camera with an optical axis having an incident angle with respect to the train-time surface;
running a 2D code symbol reader that can detect and tolerate distortion so as to provide a correspondence between at least two 2D coordinates of points within the training image and at least two 2D coordinates of points within the 2D code symbol;
using the correspondence to construct a coordinate transformation;
at run-time;
disposing a symbol on a run-time surface that is substantially parallel to the train-time surface;
acquiring a run-time image of a symbol disposed on the run-time surface using a camera with an optical axis having substantially the incident angle with respect to the run-time surface;
correcting distortion of the run-time image using the coordinate transformation to provide a corrected image; and
running a run-time symbol reader on the corrected image.
2 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for reading distorted optical symbols using known locating and decoding methods, without requiring a separate and elaborate camera calibration procedure, without excessive computational complexity, and without compromised burst noise handling. The invention exploits a distortion-tolerant method for locating and decoding 2D code symbols to provide a correspondence between a set of points in an acquired image and a set of points in the symbol. A coordinate transformation is then constructed using the correspondence, and run-time images are corrected using the coordinate transformation. Each corrected run-time image provides a distortion-free representation of a symbol that can be read by traditional code readers that normally cannot read distorted symbols. The method can handle both optical distortion and printing distortion. The method is applicable to “portable” readers when an incident angle with the surface is maintained, the reader being disposed at any distance from the surface.
36 Citations
38 Claims
-
1. A method for decoding distorted symbols, the method comprising:
- at train-time;
acquiring a training image of a two-dimensional (2D) code symbol disposed on a train-time surface using a camera with an optical axis having an incident angle with respect to the train-time surface; running a 2D code symbol reader that can detect and tolerate distortion so as to provide a correspondence between at least two 2D coordinates of points within the training image and at least two 2D coordinates of points within the 2D code symbol; using the correspondence to construct a coordinate transformation;
at run-time;disposing a symbol on a run-time surface that is substantially parallel to the train-time surface; acquiring a run-time image of a symbol disposed on the run-time surface using a camera with an optical axis having substantially the incident angle with respect to the run-time surface; correcting distortion of the run-time image using the coordinate transformation to provide a corrected image; and running a run-time symbol reader on the corrected image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
- at train-time;
-
28. A method for decoding distorted symbols, the method comprising:
- acquiring a train-time image of a 2D code symbol, the 2D code symbol showing distortion in the train-time image;
running a 2D code symbol reader on the training image, the 2D code symbol reader being able to detect and tolerate distortion so as to provide a correspondence between at least two 2D coordinates of points within the train-time image and two 2D coordinates of points within the 2D code symbol; using the correspondence to construct a coordinate transformation; acquiring a run-time image of a symbol under the same conditions as the acquiring of the train-time image of the 2D code symbol; correcting distortion of the run-time image using the coordinate transformation to provide a corrected image; and running a run-time symbol reader on the corrected image. - View Dependent Claims (29)
- acquiring a train-time image of a 2D code symbol, the 2D code symbol showing distortion in the train-time image;
-
30. A method for decoding distorted symbols, the method comprising:
- acquiring a run-time image of a symbol, the symbol showing distortion in the run-time image;
obtaining a coordinate transformation that describes the distortion shown in the image of the symbol; correcting distortion shown in the run-time image using the coordinate transformation so as to provide a corrected image; running a run-time symbol reader on the corrected image; and wherein the coordinate transformation is constructed using a correspondence between at least two 2D coordinates of points within a train-time image and two 2D coordinates of points within a 2D code symbol, the correspondence being provided by a symbol reader that can detect and tolerate distortion of the 2D code symbol. - View Dependent Claims (31)
- acquiring a run-time image of a symbol, the symbol showing distortion in the run-time image;
-
32. A method for decoding distorted symbols, the method comprising:
- at train-time;
acquiring a training image of a two-dimensional (2D) code symbol disposed on a train-time surface using a camera with an optical axis having an incident angle with respect to the train-time surface; running a 2D code symbol reader that can detect and tolerate distortion so as to provide a correspondence between at least two 2D coordinates of points within the training image and at least two 2D coordinates of points within the 2D code symbol; using the correspondence to construct a coordinate transformation;
at run-time;disposing a symbol on a run-time surface that is substantially parallel to the train-time surface; acquiring a run-time image of a symbol disposed on the run-time surface using a camera with an optical axis having substantially the incident angle with respect to the run-time surface; correcting distortion of the run-time image using the coordinate transformation to provide a corrected representation of the symbol; and running a run-time symbol reader on the corrected representation of the symbol. - View Dependent Claims (33, 34)
- at train-time;
-
35. A method for decoding distorted symbols, the method comprising:
- acquiring a run-time image of a symbol, the symbol showing distortion in the run-time image;
obtaining a coordinate transformation that describes the distortion shown in the image of the symbol wherein the coordinate transform is determined prior to run-time; correcting distortion shown in the run-time image using the coordinate transformation so as to provide a corrected image; and running a run-time symbol reader on the corrected image.
- acquiring a run-time image of a symbol, the symbol showing distortion in the run-time image;
-
36. A method for decoding distorted symbols, the method comprising:
- at train-time;
acquiring a training image of a two-dimensional (2D) code symbol disposed on a train-time surface using a camera with an optical axis having an incident angle with respect to the train-time surface; running a 2D code symbol reader that can detect and tolerate distortion so as to provide a correspondence between at least two 2D coordinates of points within the training image and at least two 2D coordinates of points within the 2D code symbol; using the correspondence to construct a coordinate transformation;
at run- time;disposing a symbol on a run-time surface that is generally parallel to the train-time surface; acquiring a run-time image of a symbol disposed on the run-time surface using a camera with an optical axis having substantially the incident angle with respect to the run-time surface; correcting distortion of the run-time image using the coordinate transformation to provide a corrected image; and running a run-time symbol reader on the corrected image. - View Dependent Claims (37, 38)
- at train-time;
Specification