# US 12,001,649 B2 · Systems and methods for facilitating selection of tools for machine vision jobs

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

- Number: US 12,001,649 B2
- Document ID: US12001649B2
- Status: Granted
- Kind: B2
- Application number: 16/945,392
- Filed: 2020-07-31
- Published: 2022-02-03
- Granted: 2024-06-04
- Earliest claimed: 2020-07-31
- Assignees: Zebra Technologies Corporation
- Applicants: Zebra Technologies Corporation
- Inventors: Ankan Basak; Thomas Conticello; Christopher M. West
- Web page: https://patentgrep.com/patent/US12001649B2

## CPC

- G06T 11/60: Creating or editing images; Combining images with text
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06T 7/0004: {Industrial image inspection}
- G06T 7/12: Edge-based segmentation
- G06V 10/235: {based on user input or interaction}
- G06V 10/25: Determination of region of interest [ROI] or a volume of interest [VOI]
- G06V 10/945: {User interactive design; Environments; Toolboxes}
- G06V 10/96: Management of image or video recognition tasks
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06V 10/255: {Detecting or recognising potential candidate objects based on visual cues, e.g. shapes}
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Methods and systems for facilitating selection of tools for one or more machine vision jobs are disclosed herein. An example method may be performed by one or more processors and includes displaying, via a display screen, an interactive graphical user interface (GUI) of an application, the application configured to generate job scripts for imaging devices to execute and the application operating in a job construction mode. The method also includes displaying an image within the GUI and detecting a selection of a portion of the image. The method further includes analyzing the portion of the image to determine a corresponding tool for processing the portion of the image and displaying, within the interactive GUI, a user-selectable option to add the corresponding tool to a machine vision job.

## Claims

### Claim 1

A method for facilitating selection of tools for one or more machine vision jobs, the method comprising:
displaying, by one or more processors via a display screen, an interactive graphical user interface (GUI) of an application, the application configured to generate job scripts for imaging devices to execute and the application operating in a job construction mode;
displaying, by the one or more processors within the interactive GUI, an image;
detecting, by the one or more processors, a selection of a portion of the image;
analyzing, by the one or more processors, the portion of the image to determine a corresponding tool for processing the portion of the image; and
displaying, by the one or more processors within the interactive GUI, a user-selectable option to add the corresponding tool to a machine vision job.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
detecting, by the one or more processors, a selection of the user-selectable option to add the corresponding tool to the machine vision job;
adding, in response to the selection of the user-selectable option, the corresponding tool to a job flow of the machine vision job; and
displaying, by the one or more processors within the interactive GUI, the corresponding tool within the job flow.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
detecting, by the one or more processors, a selection of a second user-selectable option to deploy the machine vision job;
in response to detecting the selection of the second user-selectable option, generating a job script an imaging device can execute to perform the machine vision job, the job script including computer-readable instructions corresponding to tools within the job flow, wherein the tools include the corresponding tool; and
transmitting the job script to the imaging device for execution.

### Claim 4 (depends on 1)

The method of claim 1, wherein analyzing the portion of the image includes:
analyzing the portion of the image using pixel analysis.

### Claim 5 (depends on 1)

The method of claim 1, wherein analyzing the portion of the image includes:
determining whether the portion of the image includes a barcode.

### Claim 6 (depends on 5)

The method of claim 5, wherein analyzing the portion of the image includes:
in response to determining that the portion of the image includes a barcode, determining that the corresponding tool corresponds to a barcode scanning tool.

### Claim 7 (depends on 5)

The method of claim 5, wherein analyzing the portion of the image includes:
in response to determining that the portion of the image does not include a barcode, determining that the corresponding tool corresponds to at least one of a pattern matching tool or an edge detection tool.

### Claim 8 (depends on 1)

The method of claim 1, wherein analyzing the portion of the image includes:
detecting at least one edge within the portion of the image; and
in response to detecting the at least one edge, determining that the corresponding tool corresponds to an edge detection tool.

### Claim 9 (depends on 1)

The method of claim 1, wherein analyzing the portion of the image includes:
performing edge detection on the portion of the image; and
in response to determining, based on the edge detection, that the image depicts a two-dimensional object, determining that the corresponding tool corresponds to an edge detection tool.

### Claim 10 (depends on 1)

The method of claim 1, wherein analyzing the portion of the image includes:
performing edge detection on the portion of the image; and
in response to determining, based on the edge detection, that the image depicts a three-dimensional object, determining that the corresponding tool corresponds to a pattern matching tool.

### Claim 11

A computer system for facilitating selection of tools for one or more machine vision jobs, the computer system comprising:
one or more processors; and
a non-transitory program memory communicatively coupled to the one or more processors and storing executable instructions that, when executed by the one or more processors, cause the computer system to:
display, via a display screen, an interactive graphical user interface (GUI) of an application, the application configured to generate job scripts for imaging devices to execute and the application operating in a job construction mode;
display, within the interactive GUI, an image;
detect a selection of a portion of the image;
analyze the portion of the image to determine a corresponding tool for processing the portion of the image; and
display, within the interactive GUI, a user-selectable option to add the corresponding tool to a machine vision job.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the instructions further cause the computer system to:
detect a selection of the user-selectable option to add the corresponding tool to the machine vision job;
add, in response to the selection of the user-selectable option, the corresponding tool to a job flow of the machine vision job; and
display, within the interactive GUI, the corresponding tool within the job flow.

### Claim 13 (depends on 12)

The computer system of claim 12, wherein the instructions further cause the computer system to:
detect a selection of a second user-selectable option to deploy the machine vision job;
in response to detecting the selection of the second user-selectable option, generate a job script an imaging device can execute to perform the machine vision job, the job script including computer-readable instructions corresponding to tools within the job flow, wherein the tools include the corresponding tool; and transmitting the job script to the imaging device for execution.

### Claim 14 (depends on 11)

The computer system of claim 11, wherein the instructions cause the computer system to analyze the portion of the image by analyzing the portion of the image using pixel analysis.

### Claim 15 (depends on 11)

The computer system of claim 11, wherein the instructions cause the computer system to analyze the portion of the image by determining whether the portion of the image includes a barcode.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein the instructions cause the computer system to analyze the portion of the image by, in response to determining that the portion of the image includes a barcode, determining that the corresponding tool corresponds to a barcode scanning tool.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein the instructions cause the computer system to analyze the portion of the image by, in response to determining that the portion of the image does not include a barcode, determining that the corresponding tool corresponds to at least one of a pattern matching tool or an edge detection tool.

### Claim 18 (depends on 11)

The computer system of claim 11, wherein the instructions cause the computer system to analyze the portion of the image by:
performing edge detection on the portion of the image; and
in response to determining, based on the edge detection, that the image depicts a two-dimensional object, determining that the corresponding tool corresponds to an edge detection tool.

### Claim 19 (depends on 11)

The computer system of claim 11, wherein the instructions cause the computer system to analyze the portion of the image by:
performing edge detection on the portion of the image; and
in response to determining, based on the edge detection, that the image depicts a three-dimensional object, determining that the corresponding tool corresponds to a pattern matching tool.

### Claim 20

A tangible, non-transitory computer-readable medium storing executable instructions for facilitating selection of tools for one or more jobs that, when executed by at least one processor of a computer system, cause the computer system to:
display, via a display screen, an interactive graphical user interface (GUI) of an application, the application configured to generate job scripts for imaging devices to execute and the application operating in a job construction mode;
display, within the interactive GUI, an image;
detect a selection of a portion of the image;
analyze the portion of the image to determine a corresponding tool for processing the portion of the image; and
display, within the interactive GUI, a user-selectable option to add the corresponding tool to a machine vision job.
