×

Decoding visual codes

  • US 9,501,681 B1
  • Filed: 07/14/2015
  • Issued: 11/22/2016
  • Est. Priority Date: 07/14/2015
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×