Decoding visual codes
First Claim
1. A computing device, comprising:
- a display element;
a computing device processor;
a camera; and
a memory device including instructions that, when executed by the computing device processor, cause the computing device to;
capture, by the camera, an image that includes a representation of a data matrix;
convert the image to a binarized image, the binarized image including a plurality of pixels, each pixel of the plurality of pixels being associated with one of a first pixel value or a second pixel value;
determine, using a connected-component algorithm, a path of adjacent pixels from the plurality of pixels, each pixel in the path of adjacent pixels having a value corresponding to the first pixel value and being associated with a location on the binarized image;
determine a plurality of distance measurements for each pixel in the path of adjacent pixels, each distance measurement of the plurality of distance measurements corresponding to a distance between a pair of pixels in the path of adjacent pixels;
select a greatest distance measurement from the plurality of distance measurements, the greatest distance measure being associated with a first pixel and a second pixel in the path of adjacent pixels, the first pixel having a first location on the binarized image and the second pixel having a second location on the binarized image;
identify a third pixel in the path of adjacent pixels, the third pixel being associated with a third location that is a furthest location from both of the first location and the second location than any pixel in the path of adjacent pixels;
estimate a fourth location of a fourth pixel using a geometric relationship between the first location, the second location, and the third location;
determine a region of interest based at least in part on the first location, second location, third location, and fourth location, the region of interest including the representation of the data matrix; and
verify the region of interest by analyzing a plurality of borders of the region of interest using a timing pattern.
1 Assignment
0 Petitions
Accused Products
Abstract
Various algorithms are presented that enable an image of a data matrix to be analyzed and decoded for use in obtaining information about an object or item associated with the data matrix. The algorithms can account for variations in position and/or alignment of the data matrix. In one approach, the image is analyzed to determine a connected region of pixels. The connected region of pixels can be analyzed to determine a pair of pixels, included in the connected region of pixels, that is separated a greatest distance wherein a first pixel and second pixel of the pair of pixels is associated with image coordinates. Using the image coordinates of the pair of pixels, a potential area of the image that includes the visual code can be determined and the potential area can be analyzed to verify the presence of a potential data matrix.
15 Citations
20 Claims
-
1. A computing device, comprising:
-
a display element; a computing device processor; a camera; and a memory device including instructions that, when executed by the computing device processor, cause the computing device to; capture, by the camera, an image that includes a representation of a data matrix; convert the image to a binarized image, the binarized image including a plurality of pixels, each pixel of the plurality of pixels being associated with one of a first pixel value or a second pixel value; determine, using a connected-component algorithm, a path of adjacent pixels from the plurality of pixels, each pixel in the path of adjacent pixels having a value corresponding to the first pixel value and being associated with a location on the binarized image; determine a plurality of distance measurements for each pixel in the path of adjacent pixels, each distance measurement of the plurality of distance measurements corresponding to a distance between a pair of pixels in the path of adjacent pixels; select a greatest distance measurement from the plurality of distance measurements, the greatest distance measure being associated with a first pixel and a second pixel in the path of adjacent pixels, the first pixel having a first location on the binarized image and the second pixel having a second location on the binarized image; identify a third pixel in the path of adjacent pixels, the third pixel being associated with a third location that is a furthest location from both of the first location and the second location than any pixel in the path of adjacent pixels; estimate a fourth location of a fourth pixel using a geometric relationship between the first location, the second location, and the third location; determine a region of interest based at least in part on the first location, second location, third location, and fourth location, the region of interest including the representation of the data matrix; and verify the region of interest by analyzing a plurality of borders of the region of interest using a timing pattern. - View Dependent Claims (2, 3, 4)
-
-
5. A computing device, comprising:
-
a computing device processor; a memory device including instructions that, when executed by the computing device processor, cause the computing device to; obtain an image of a visual code; analyze the image to determine a connected region of a plurality of connected regions using a connected-component algorithm, the connected region including a plurality of image elements; determine a pair of image elements from the plurality of image elements separated a greatest distance on the image, a first image element of the pair of image elements being associated with first image coordinates on the image and a second image element of the pair of image elements being associated with second image coordinates on the image; determine a potential area of the image that includes the visual code based at least in part on the first image coordinates and the second image coordinates; and verify the potential area of the image by analyzing a plurality of borders of the potential area. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method, comprising:
-
obtaining an image of a visual code; analyzing the image to determine a connected region of a plurality of connected regions using a connected-component algorithm, the connected region including a plurality of image elements; determining a pair of image elements from the plurality of image elements separated a greatest distance on the image, a first image element of the pair of image elements being associated with first image coordinates on the image and a second image element of the pair of image elements being associated with second image coordinates on the image; determining a potential area of the image that includes the visual code based at least in part on the first image coordinates and the second image coordinates; and verifying the potential area of the image by analyzing a plurality of borders of the potential area. - View Dependent Claims (18, 19, 20)
-
Specification