# US 8,418,924 B2 · Apparatus and method for calibration of projected target point within an image

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,418,924 B2
- Document ID: US8418924B2
- Status: Granted
- Kind: B2
- Application number: 11/287,024
- Filed: 2005-11-23
- Published: 2006-04-06
- Granted: 2013-04-16
- Earliest claimed: 2001-03-28
- Assignees: The Code Corporation
- Applicants: Paul J. Hepworth; Mario Miyojim; Morgan Taylor
- Inventors: Paul J. Hepworth; Mario Miyojim; Morgan Taylor
- Web page: https://patentgrep.com/patent/US8418924B2

## CPC

- H04N 1/00002: {Diagnosis, testing or measuring; Detecting, analysing or monitoring not otherwise provided for (error detection, error correction or monitoring in digital computers or digital computer components G06F11/00)}
- H04N 1/00045: {using a reference pattern designed for the purpose, e.g. a test chart}
- H04N 1/0005: {in service, i.e. during normal operation}
- H04N 1/00087: {Setting or calibrating (picture signal circuits H04N1/40)}
- H04N 1/00267: {with a viewing or projecting apparatus, e.g. for reading image information from a film (H04N1/00262 takes precedence)}
- H04N 1/1255: {Electronic copy boards}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The present invention provides a novel optical reader device and method for calibrating the device. The device executes a calibration module that locates the actual coordinates for a targeting symbol in a captured image. The coordinates are stored as calibration coordinates in the memory. During normal operation of the reader device, the stored calibration coordinates are used to locate a target, such as a bar code. In order to locate the targeting symbol, the calibration module may overlay a template on clusters that may be the targeting symbol. A reasonable accurate comparison identifies the cluster as the targeting symbol. Alternatively, the calibration module may approach a cluster from four frames of the image and identify the cluster's tangents and perimeter. Geometrical calculations are used to identify the center of an identified targeting symbol.

## Claims

### Claim 1

A computer-readable medium for locating the coordinates of a targeting symbol within an image for calibrating an optical reader device, the computer-readable medium comprising executable instructions for:
receiving the captured image;
locating the targeting symbol in the image, wherein the targeting symbol is not a machine-readable graphical code; and
upon identifying the targeting symbol, calculating coordinates of the targeting symbol in the image.

### Claim 2 (depends on 1)

The computer readable medium of claim 1, wherein locating the targeting symbol comprises:
thresholding the image to identify clusters; and
comparing clusters to a template to identify the targeting symbol.

### Claim 3 (depends on 2)

The computer readable medium of claim 2, wherein thresholding the image comprises sampling pixels to identify the pixels as light or background.

### Claim 4 (depends on 3)

The computer readable medium of claim 3, wherein thresholding the image further comprises comparing the intensity of each pixel to a threshold value to identify the pixel as light or background.

### Claim 5 (depends on 3)

The computer readable medium of claim 3, wherein thresholding the image further comprises:
counting identified light pixels that form a cluster; and
locating the cluster in the image.

### Claim 6 (depends on 2)

The computer readable medium of claim 2, wherein comparing clusters to a template further comprises comparing the shape and size of each cluster to the template.

### Claim 7 (depends on 2)

The computer readable medium of claim 2, wherein comparing clusters to a template further comprises identifying clusters that are approximate matches.

### Claim 8 (depends on 7)

The computer readable medium of claim 7, wherein comparing clusters to a template further comprises attempting displacements for approximate clusters in the x and y axes to thereby identify a cluster that is a maximum match.

### Claim 9 (depends on 2)

The computer readable medium of claim 2, wherein calculating coordinates of the targeting symbol includes calculating the center of the targeting symbol.

### Claim 10 (depends on 2)

The computer readable medium of claim 2, wherein the targeting symbol includes a bull's eye having a ring and a center dot, and wherein calculating the center comprises:
locating the center of the ring;
locating the center of the center dot; and
calculating a target point from the location of the center of the ring and the location of the center of the center dot.

### Claim 11 (depends on 10)

The computer readable medium of claim 10, wherein locating the center of the ring comprises:
counting the number of pixels matching a ring portion of the template;
counting the number of background pixels within the ring and outside the center dot; and
locating a best match for the template.

### Claim 12 (depends on 11)

The computer readable medium of claim 11, wherein locating a best match for the template includes positioning the template to find a maximal product of the count of matching ring pixels and the count of background pixels within the ring and outside the center dot.

### Claim 13 (depends on 11)

The computer readable medium of claim of claim 11 further comprising:
locating a coarse approximation of the center of the ring; and
refining the location of the center of the ring.

### Claim 14 (depends on 11)

The computer readable medium of claim 11, wherein locating the center of the center dot comprises:
counting the number of pixels matching a center dot portion of the template;
counting the number of background pixels outside the center dot and within the ring; and
locating a best match for the template.

### Claim 15 (depends on 14)

The computer readable medium of claim 14 wherein locating a best match for the template includes positioning the template to find a maximal product of the count of matching center dot pixels and the count of background pixels within the ring and outside the center dot.

### Claim 16 (depends on 14)

The computer readable medium of claim 14 further comprising:
locating a coarse approximation of the center of the center dot; and
refining the location of the center of the center dot.

### Claim 17 (depends on 1)

The computer readable medium of claim 1, further comprising executable instructions for storing the coordinates in a memory.

### Claim 18 (depends on 17)

The computer readable medium of claim 17, further comprising executable instructions for using the coordinates to select a machine-readable graphical code nearest the targeting symbol from a plurality of machine-readable graphical codes.

### Claim 19

A computer-readable medium for locating the coordinates of a targeting symbol within an image for calibrating an optical reader device, the computer-readable medium comprising executable instructions for:
receiving a captured image, wherein the captured image comprises a machine-readable graphical code;
thresholding the image to identify a cluster;
determining if there is a single object in the image or multiple objects in the image;
if it is determined that there is the single object in the image, directing lines vertically and horizontally to the cluster to identify the targeting symbol; and
upon identifying the targeting symbol, calculating coordinates of the targeting symbol in the image.

### Claim 20 (depends on 19)

The computer readable medium of claim 19, further comprising executable instructions for storing the coordinates in a memory.

### Claim 21 (depends on 20)

The computer readable medium of claim 20, further comprising executable instructions for using the coordinates to select a machine-readable graphical code nearest the targeting symbol from a plurality of machine-readable graphical codes.

### Claim 22 (depends on 19)

The computer readable medium of claim 19, wherein thresholding the image comprises sampling pixels to identify the pixels as light or background.

### Claim 23 (depends on 22)

The computer readable medium of claim 22, wherein thresholding the image further comprises comparing the intensity of each pixel to a threshold value to identify the pixel as light or background.

### Claim 24 (depends on 22)

The computer readable medium of claim 22, wherein thresholding the image further comprises:
counting identified light pixels that form a cluster; and
locating the cluster in the image.

### Claim 25 (depends on 19)

The computer readable medium of claim 19, wherein directing lines vertically and horizontally includes defining tracks to intersect the cluster, and further comprising executable instructions for:
identifying tracks that intersect a cross section of the cluster; and
identifying tracks that do not intersect a cross section of the cluster to thereby locate tangents to the cluster.

### Claim 26 (depends on 19)

The computer readable medium of claim 19, wherein calculating coordinates of the targeting symbol comprises locating the geometric center of the targeting symbol.

### Claim 27 (depends on 26)

The computer readable medium of claim 26, wherein locating the geometric center of the targeting symbol comprises applying symmetric relationships of the targeting symbol.

### Claim 28 (depends on 26)

The computer readable medium of claim 26, wherein locating the geometric center of the targeting symbol comprises applying known geometric relationships of the targeting symbol.

### Claim 29 (depends on 19)

The computer readable medium of claim 19, further comprising executable instructions for rejecting a noise cluster based on the noise cluster being in a region of the image distant from an expected location of the targeting symbol.

### Claim 30 (depends on 19)

The computer readable medium of claim 19, further comprising executable instructions for rejecting a noise cluster based on the noise cluster being in an expected region of the image.

### Claim 31

A method for locating the coordinates of a targeting symbol having a plurality of objects for calibrating an optical reader device, the method comprising:
the optical reader device projecting each object one at a time onto a surface;
the optical reader device capturing a plurality of images, wherein each image contains an object;
thresholding the images to identify clusters within each image;
directing lines vertically and horizontally across each image to the clusters to identify the objects;
upon identifying the objects, calculating coordinates of the objects in each image; and
identifying a center for the targeting symbol based on the coordinates for the objects.

### Claim 32 (depends on 31)

The method of claim 31, further comprising storing the coordinates in a memory.

### Claim 33 (depends on 31)

The method of claim 31, wherein thresholding the images comprises sampling pixels of each image to identify the pixels as light or background.

### Claim 34 (depends on 33)

The method of claim 33, wherein thresholding the images further comprises comparing the intensity of each pixel to a threshold value to identify the pixel as light or background.

### Claim 35 (depends on 33)

The method of claim 33, wherein thresholding the images further comprises:
counting identified light pixels that form a cluster; and
locating the cluster in the images.

### Claim 36 (depends on 31)

The method of claim 31, wherein directing lines vertically and horizontally across each image includes defining tracks to intersect the clusters and wherein the method further comprises:
identifying tracks that intersect a cross section of each cluster; and
identifying tracks that do not intersect a cross section of the clusters to thereby locate tangents to the clusters.

### Claim 37 (depends on 31)

The method of claim 31, wherein calculating coordinates of each object comprises locating the geometric center of each object.

### Claim 38 (depends on 37)

The method of claim 37, wherein locating the geometric center of each object comprises applying symmetric relationships for each object.

### Claim 39 (depends on 37)

The method of claim 37, wherein locating the geometric center of each object comprises applying known geometric relationships for each object.

### Claim 40 (depends on 31)

The method of claim 31, wherein identifying a center for the targeting symbol based on the coordinates for the objects comprises applying known geometric relationships between the objects.

### Claim 41 (depends on 31)

The method of claim 31, further comprising rejecting a noise cluster based on the noise cluster being in a region of the image distant from an expected location of the targeting symbol.

### Claim 42 (depends on 31)

The method of claim 31, further comprising rejecting a noise cluster based on the noise cluster being in an expected region of the image.

### Claim 43

An optical reader apparatus for locating the coordinates of a targeting symbol having a plurality of objects for calibration, the apparatus comprising:
a projector for projecting the objects of the targeting symbol one at a time onto a surface;
a camera for capturing a plurality of images, wherein each image includes an object;
a processor in electrical communication with the projector and the camera; and
a memory in electrical communication with the processor, the memory including a calibration module programmed to:
receive the plurality of images;
threshold the images to identify clusters within each image;
direct lines vertically and horizontally across each image to the clusters to identify the objects;
upon identifying the objects, calculate coordinates of the objects in each image; and
identify a center for the targeting symbol based on the coordinates for the objects.

### Claim 44 (depends on 43)

The apparatus of claim 43, wherein the calibration module is also programmed to store the coordinates in a memory.

### Claim 45 (depends on 43)

The apparatus of claim 43, wherein thresholding the images comprises sampling pixels of each image to identify the pixels as light or background.

### Claim 46 (depends on 43)

The apparatus of claim 43, wherein thresholding the images further comprises comparing the intensity of each pixel to a threshold value to identify the pixel as light or background.

### Claim 47 (depends on 45)

The apparatus of claim 45, wherein thresholding the images further comprises:
counting identified light pixels that form a cluster; and
locating the cluster in the images.

### Claim 48 (depends on 43)

The apparatus of claim 43, wherein directing lines vertically and horizontally across each image includes defining tracks to intersect the clusters and wherein the calibration module is also programmed to:
identify tracks that intersect a cross section of each cluster; and
identify tracks that do not intersect a cross section of the clusters to thereby locate tangents to the clusters.

### Claim 49 (depends on 43)

The apparatus of claim 43, wherein calculating coordinates of each object comprises locating the geometric center of each object.

### Claim 50 (depends on 49)

The apparatus of claim 49, wherein locating the geometric center of each object comprises applying symmetric relationships for each object.

### Claim 51 (depends on 49)

The apparatus of claim 49, wherein locating the geometric center of each object comprises applying known geometric relationships for each object.

### Claim 52 (depends on 43)

The apparatus of claim 43, wherein identifying a center for the targeting symbol based on the coordinates for the objects comprises applying known geometric relationships between the objects.

### Claim 53 (depends on 43)

The apparatus of claim 43, wherein the calibration module is also programmed to reject a noise cluster based on the noise cluster being in a region of the image distant from an expected location of the targeting symbol.

### Claim 54 (depends on 43)

The apparatus of claim 43, wherein the calibration module is also programmed to reject a noise cluster based on the noise cluster being in an expected region of the image.

### Claim 55

A computer readable medium for locating the coordinates of a targeting symbol having a plurality of objects for calibrating an optical reader device, the computer-readable medium comprising executable instructions for:
receiving a plurality of images, wherein each image includes one or more objects;
thresholding the images to identify one or more clusters within each image;
for each image, determining if there is a single object in the image or multiple objects in the image;
for each image that includes a single object, directing lines vertically and horizontally across the image to a cluster to identify the object;
upon identifying the objects in the images, calculating coordinates of the objects; and
identifying a center for the targeting symbol based on the coordinates for the objects.

### Claim 56 (depends on 55)

The computer readable medium of claim 55, further comprising executable instructions for storing the coordinates in a memory.

### Claim 57 (depends on 55)

The computer readable medium of claim 55, wherein thresholding the images comprises sampling pixels of each image to identify the pixels as light or background.

### Claim 58 (depends on 57)

The computer readable medium of claim 57, wherein thresholding the images further comprises comparing the intensity of each pixel to a threshold value to identify the pixel as light or background.

### Claim 59 (depends on 57)

The computer readable medium of claim 57, wherein thresholding the images further comprises:
counting identified light pixels that form a cluster; and
locating the cluster in the images.

### Claim 60 (depends on 55)

The computer readable medium of claim 55, wherein directing lines vertically and horizontally across each image includes defining tracks to intersect the clusters, and further comprising executable instructions for:
identifying tracks that intersect a cross section of each cluster; and
identifying tracks that do not intersect a cross section of the clusters to thereby locate tangents to the clusters.

### Claim 61 (depends on 55)

The computer readable medium of claim 55, wherein calculating coordinates of the objects comprises locating the geometric center of each object.

### Claim 62 (depends on 61)

The computer readable medium of claim 61, wherein locating the geometric center of each object comprises applying symmetric relationships for each object.

### Claim 63 (depends on 61)

The computer readable medium of claim 61, wherein locating the geometric center of each object comprises applying known geometric relationships for each object.

### Claim 64 (depends on 55)

The computer readable medium of claim 55, wherein identifying a center for the targeting symbol based on the coordinates for the objects comprises applying known geometric relationships between the objects.

### Claim 65 (depends on 55)

The computer readable medium of claim 55, further comprising executable instructions for rejecting a noise cluster based on the noise cluster being in a region of the image distant from an expected location of the targeting symbol.

### Claim 66 (depends on 55)

The computer readable medium of claim 55, further comprising executable instructions for rejecting a noise cluster based on the noise cluster being in an expected region of the image.
