SYSTEMS AND METHODS FOR TOOL CANVAS METADATA AND AUTO CONFIGURATION IN IMAGE PROCESSING APPLICATIONS

An interactive GUI automates the configuration of imaging tools by allowing users to select areas of interest and adjust tool parameters based on metadata, addressing the inefficiencies of manual metadata configuration in image processing applications.

DE112023002887T5Pending Publication Date: 2025-04-24ZEBRA TECHNOLOGIES CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112023002887
Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-29
Filing Date
2023-04-04
Publication Date
2025-04-24

AI Technical Summary

Technical Problem

Existing image processing applications require manual intervention for configuring tool metadata, which is time-consuming and inefficient, especially in identifying and filtering objects based on size and shape characteristics.

Method used

An interactive graphical user interface (GUI) is used to automate the configuration of imaging tools, allowing users to select areas of interest, analyze images, adjust tool parameters, and automatically refine settings based on user-selectable metadata elements, enabling automatic tool configuration and improved image processing efficiency.

Benefits of technology

The solution significantly reduces manual effort and time required for configuring imaging tools, enhancing the accuracy and speed of image processing by automating the selection and refinement of tool parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Example systems and methods for automatically configuring a tool for one or more image processing device jobs are disclosed. An example system comprises an image processing camera and a user-computer device coupled to it. The user-computer device, operating in a creation mode, is configured to: receive an image; display the image on a canvas, the canvas being part of a user interface of an image processing application; display targets of interest on the canvas based on an image processing tool; when a target is selected, determine appropriate metadata elements for the target and automatically reconfigure the tool to identify targets matching these metadata elements or a range thereof. The reconfigured tool is then made available for runtime operation.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Application No. 63 / 357,504, filed June 30, 2022, which is incorporated herein by reference in its entirety. AREA OF REVELATION

[0002] This disclosure relates generally to image processing applications, and more particularly to systems and methods for automatically configuring tool canvas metadata in image processing applications. BACKGROUND

[0003] Over the years, industrial automation has relied heavily on image processing components that can assist operators with a variety of tasks. In some cases, image processing components, such as cameras, are used to track objects moving past stationary cameras on a conveyor belt. Often, these cameras (also called imaging devices) are connected to user devices (e.g., personal computers) running applications that can interact with these imaging devices at various levels. In these applications, image processing and analysis are often routine and involve user interaction through the use of multiple areas of interest (ROls) within the images. However, image analysis can be time-consuming and may require manual intervention by the operator.For example, there are applications for identifying objects in captured images. Often, a user wants to view metadata for a specific object type and count or otherwise identify objects similar to the identified object. However, some applications have tools that allow objects to be filtered based on characteristics. These characteristics can be set to restrict the search, for example, to objects of a specific size and shape. Such a process, however, is manual and can be time-consuming, as the user has to manually identify the objects using their metadata.

[0004] There is a need for a simpler way to view an image's metadata and filter out unwanted data from the desired results. DESCRIPTION

[0005] In one embodiment, a method for automatically configuring a tool for one or more imaging device jobs is provided. The method comprises: displaying an interactive graphical user interface (GUI) of an application by one or more processors via a screen, wherein the application is configured to generate job sequences for the imaging devices in a job processing mode; displaying an image by the one or more processors within the interactive GUI; capturing a selection of a region of interest (ROI) of the image by the one or more processors; and analyzing the ROI of the image by the one or more processors using a tool to identify one or more targets in the image based on tool configuration parameters of the tool.Selecting a target from one or more targets in the image and displaying user-selectable image metadata elements and result values ​​for each element corresponding to the selected target; selecting one or more user-selectable image metadata elements; adjusting the tool configuration based on the user-selectable image metadata elements to generate revised tool configuration parameters for the tool; and re-analyzing and displaying the image's ROI using the tool with the revised tool configuration.

[0006] In variations of this embodiment, the method further includes reworking the job to include the tool with the revised tool configuration and inserting the revised job for the imaging device to execute during a job runtime mode.

[0007] In variants of this embodiment, each of the user-selectable image metadata elements corresponds to a different element in the tool configuration.

[0008] In variants of this embodiment, adjusting the tool configuration based on user-selectable image metadata elements includes: for each selected or multiple user-selectable image metadata elements, an auto-configuration parameter is applied to automatically adjust the tool configuration.

[0009] In variants of this embodiment, the autoconfiguration parameter is a percentage range parameter or a binary parameter.

[0010] In variants of this embodiment, the autoconfiguration parameter represents a combination of autoconfiguration parameters, each of which modifies a different element of the tool configuration.

[0011] In variants of this embodiment, the method further includes displaying a current parameter value for each of the one or more user-selectable image metadata elements, corresponding to the one or more targets, and displaying a user selection button.

[0012] In variations of this embodiment, the tool is a spot detection tool, and wherein analyzing the ROI of the image using the tool to identify the one or more targets in the image includes: identifying uniform spots (“blobs”) with pixel intensity or pixel color as the one or more targets.

[0013] In variations of this embodiment, the other user-selectable image metadata elements are selected from the group consisting of area, principal axis length, and minor axis length.

[0014] In variations of this embodiment, the tool configuration of the spot detection tool includes area, major axis length and minor axis length, axis, mean X-axis position and mean Y-axis position.

[0015] In variations of this embodiment, the tool is a barcode recognition tool, and wherein analyzing the ROI of the image using the tool to identify the one or more targets in the image comprises: identifying one or more barcodes in the image as the one or more targets.

[0016] In variations of this embodiment, the one or more user-selectable image metadata elements include a barcode symbology type or a percentage barcode overlap in the ROI.

[0017] In variations of this embodiment, the tool is an edge detection tool, and wherein analyzing the ROI of the image using the tool to identify the one or more targets in the image comprises: identifying one or more edges in the image as the one or more targets.

[0018] In variants of this embodiment, the one or more user-selectable image metadata elements comprise an edge angle, an edge length, or an edge polarity.

[0019] In another embodiment, a system for automatically configuring a tool for one or more imaging device jobs is provided. The system includes an image processing camera. The system further includes a user computer device coupled to the image processing camera, wherein the user computer device is configured to: display an interactive graphical user interface (GUI) of an application via a screen by one or more processors, wherein the application is configured to generate job sequences for the imaging devices in a job processing mode; display an image by the one or more processors within the interactive GUI; and detect a selection of a region of interest (ROI) of the image by the one or more processors.Analyzing the image's ROI using one or more processors with a tool to identify one or more targets in the image based on the tool's configuration parameters; selecting one target from the one or more targets in the image and displaying user-selectable image metadata elements and result values ​​for each element corresponding to the selected target; selecting one or more user-selectable image metadata elements; adjusting the tool configuration based on the user-selectable image metadata elements to generate revised tool configuration parameters for the tool; and re-analyzing and displaying the image's ROI using the tool with the revised tool configuration.

[0020] In variations of this embodiment, the user computing device is further configured to: revise the job to include the tool with the revised tool configuration; and deploy the revised job to the imaging device for execution during a job runtime mode.

[0021] In variants of this embodiment, each of the user-selectable image metadata elements corresponds to a different element in the tool configuration.

[0022] In variations of this embodiment, the user computer device is further configured to adapt the tool configuration based on the user-selectable image metadata elements by: applying an auto-configuration parameter for each selected one or more user-selectable image metadata elements to automatically adjust the tool configuration.

[0023] In variants of this embodiment, the autoconfiguration parameter is a percentage range parameter or a binary parameter.

[0024] In variants of this embodiment, the autoconfiguration parameter represents a combination of autoconfiguration parameters, each of which revises a different element of the tool configuration.

[0025] In variants of this embodiment, the user computing device is further configured to display, for each of the one or more user-selectable image metadata items, a current parameter value corresponding to the one or more targets and display a user selection button.

[0026] In variations of this embodiment, the tool is a spot detection tool, and wherein the client computing device is further configured to analyze the ROI of the image using the tool to identify the one or more targets in the image by: identifying as the one or more targets uniform spots of pixel intensity or pixel color.

[0027] In variations of this embodiment, the other user-selectable image metadata elements are selected from the group consisting of area, principal axis length, and minor axis length.

[0028] In variations of this embodiment, the tool configuration of the spot detection tool includes area, major axis length and minor axis length, axis, mean X-axis position and mean Y-axis position.

[0029] In variations of this embodiment, the tool is a barcode recognition tool, and wherein the user computer device is further configured to analyze the ROI of the image using the tool to identify the one or more targets in the image by identifying one or more barcodes in the image as the one or more targets.

[0030] In variations of this embodiment, the one or more user-selectable image metadata elements include a barcode symbology type or a percentage barcode overlap in the ROI.

[0031] In variations of this embodiment, the tool is an edge detection tool, and wherein the user computing device is further configured to analyze the ROI of the image using the tool to identify the one or more targets in the image, comprising: identifying one or more edges in the image as the one or more targets.

[0032] In variants of this embodiment, the one or more user-selectable image metadata elements comprise an edge angle, an edge length, or an edge polarity.

[0033] In another embodiment, a non-transitory machine-readable storage medium stores instructions that, when executed by one or more processors, cause a user computing device to: display, by one or more processors, via a display screen, an interactive graphical user interface (GUI) of an application, the application configured to generate job flows for the imaging devices in a job processing mode; display, by the one or more processors, an image within the interactive GUI;

[0034] display a selection of a region of interest (ROI) of the image by the one or more processors; analyze the ROI of the image by the one or more processors using a tool to identify one or more targets in the image based on tool configuration parameters of the tool; select a target from the one or more targets in the image and display user-selectable image metadata elements and result values ​​of each element corresponding to the selected target; select one or more user-selectable image metadata elements; adjust the tool configuration based on the user-selectable image metadata elements to generate revised tool configuration parameters for the tool; and re-analyze and display the ROI of the image using the tool with the revised tool configuration. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] The patent or application file contains at least one color drawing. Copies of this patent or application publication with color drawing(s) will be provided by the Office upon request and payment of the required fee.

[0036] The accompanying figures, in which like reference numerals refer to identical or functionally similar elements throughout the several views, together with the following detailed description, are incorporated in this specification and serve to further illustrate embodiments of concepts comprising the claimed invention, as well as to explain various principles and advantages of those embodiments. The figures show embodiments of this disclosure for purposes of illustration only. Those skilled in the art will recognize from the following discussion that alternative embodiments of the systems and methods presented herein may be utilized without departing from the principles set forth herein. Fig. Figure 1 is an example system for optimizing one or more imaging settings for an image processing job according to the embodiments described here. Fig. Figure 2 is a perspective view of the imaging device of Fig. 1, according to the embodiments described herein. Fig. Figure 3 shows an example of an application interface used in conjunction with the operation of an image processing system, according to the embodiments described herein. Fig. Figure 4 is a flowchart that shows an example of a procedure, hardware logic, machine-readable instructions, or software for implementing the example user computer device of Fig. 1 represents, according to the disclosed embodiments. Fig. 5 shows the sample application interface of Fig. 4, which consists of processes in the flowchart of Fig. 4 for the autoconfiguration of a stain tool, according to the disclosed embodiments. Fig. 6 shows the sample application interface of Fig. 4, which consist of further processes in the flowchart of Fig. 4 for the autoconfiguration of a stain tool, according to the disclosed embodiments. Fig. Figure 7 shows the example application interface of Fig. 4, which consist of further processes in the flowchart of Fig. 4 for the autoconfiguration of a stain tool, according to the disclosed embodiments. Fig. Figure 8 shows the example application interface of Fig. 4, which consist of further processes in the flowchart of Fig. 4 for the autoconfiguration of a stain tool, according to the disclosed embodiments. Fig. Figure 9 shows the example application interface of Fig. 4 with automatically configurable decoding parameters of a barcode recognition tool, according to the disclosed embodiments. Fig. Figure 10 shows the example application interface of Fig. 4 with automatically configurable extended parameters of a barcode recognition tool, according to the disclosed embodiments. Fig. Figure 11 shows the example application interface of Fig. 4 with automatically configurable symbology parameters of a barcode recognition tool, according to the disclosed embodiments.

[0037] Experts will recognize that elements in the figures are shown for the sake of simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to improve the understanding of embodiments of the present invention.

[0038] Where appropriate, the apparatus and process components are represented by conventional symbols in the drawings, which show only those specific details relevant to understanding the embodiments of the present invention, so as not to obscure the disclosure with details that are readily apparent to those skilled in the field referring to the present description. The connecting lines or links shown in the various figures are intended to represent exemplary functional relationships and / or physical or logical couplings between the various elements. DETAILED DESCRIPTION

[0039] The following are non-restrictive examples, some of which are illustrated in the accompanying drawings. IMAGE SYSTEM

[0040] Fig. Figure 1 shows an example of an imaging system 100 configured to analyze pixel data from one or more images of a target object to perform a machine vision task, according to various embodiments disclosed herein. In the embodiment of Fig. 1, the imaging system 100 includes a user computing device 102 (e.g., a computer, a mobile device, a tablet, etc.), a control computing device 103 (e.g., a programmable logic controller (PLC), etc.), and an imaging device 104 communicatively coupled to the user computing device 102 and the control computing device 103 via a network 106. In general, the user computing device 102 and the imaging device 104 may be capable of executing instructions to implement, for example, operations of the example methods described herein, as may be illustrated in the flowcharts of the drawings accompanying this specification. The user computing device 102 is generally configured to allow a user / operator to create an image processing job for execution on the imaging device 104.After creation, the user / operator can then transfer / upload the image processing job via network 106 to the imaging device 104, where the image processing job is then interpreted and executed. After execution of the image processing job, the output data generated by the imaging device 104 can be transferred to the control computer device 103 for further analysis and use.

[0041] The user computer device 102 can include one or more operator computers or workstations and contain one or more processors 108, one or more memories 110, a network interface 112, an input / output interface 114 and an intelligent imaging application 116.

[0042] The imaging device 104 is connected to the user computer device 102 via the network 106 or other communication means (e.g., a USB cable, etc.) and is configured to interpret and execute image processing jobs received from the user computer device 102. Generally, the imaging device 104 can receive a job file containing one or more job scripts from the user computer device 102 that define the image processing job and configure the imaging device 104 to acquire and / or analyze images according to the image processing job. For example, the imaging device 104 may contain flash memory used to detect, store, or otherwise process image data / records and / or post-imaging data.The imaging device 104 can then receive, detect, and / or otherwise interpret a trigger that causes the imaging device 104 to acquire one or more images of the target object according to the configuration specified by the one or more job scripts. Once the image(s) have been acquired and / or analyzed, the imaging device 104 can transmit the image(s) and all associated data to the user computer device 102 via the network 106 or other means of communication (e.g., a USB cable, etc.) for further analysis and / or storage. In various embodiments, the imaging device 104 can be a “smart” camera and / or otherwise configured to automatically perform sufficient functions of the imaging device 104 to receive, interpret, and execute job scripts that define image processing jobs, such as…one or more job scripts contained in one or more job files, which are received, for example, from the user computer device 102.

[0043] Broadly speaking, a job file can be a JSON representation / data format of one or more job scripts that can be transferred from the user computer device 102 to the imaging device 104. The job file can also be loaded / read by a C++ runtime machine or other suitable runtime machine running on the imaging device 104. Furthermore, a server (not shown) can run on the imaging device 104, configured to listen for and receive job files from the user computer device 102 via the network 106 or other communication means (e.g., a USB cable, etc.). Additionally or alternatively, the server can be configured to search for and receive job files, and it can be implemented as one or more cloud-based servers, such as a cloud-based computing platform.The server could be, for example, one or more cloud-based platforms such as Microsoft Azure, Amazon Web Services (AWS), or similar.

[0044] In any case, the imaging device 104 can comprise one or more processors 118, one or more memories 120, a network interface 122, an I / O interface 124, and an imaging assembly 126. The imaging assembly 126 can comprise a digital camera and / or a digital video camera for capturing or recording digital images and / or frames. Each digital image and / or each digital frame can contain pixel data that can be analyzed by one or more tools, each configured to perform an image analysis task. The digital camera and / or digital video camera, e.g., of the imaging assembly 126, can, as disclosed herein, be configured to capture, record, or otherwise generate digital images and can, at least in some embodiments, store such images in a memory (e.g., one or more memories 110, 120) of a respective device (e.g.,the user computer device 102, the control computer device 103, the imaging device 104, etc.) store.

[0045] The imaging assembly 126 can, for example, include a photorealistic camera (not shown) for capturing, scanning, or probing 2D image data. The photorealistic camera can be an RGB (red, green, blue) based camera for capturing 2D images with RGB-based pixel data. In various embodiments, the imaging assembly 126 can additionally include a three-dimensional (3D) camera (not shown) for capturing, scanning, or probing 3D image data. The 3D camera can include an infrared (IR) projector and an associated IR camera for capturing, scanning, or probing 3D image data / datasets.In some embodiments, the photorealistic camera of the imaging assembly 126 can acquire 2D images and associated 2D image data at the same or a similar time as the 3D camera of the imaging assembly 126, so that the imaging device 104 can have both 2D image data and 3D image data available for a given target, surface, object, area, or scene at the same or a similar time. In other embodiments, the imaging assembly 126 can comprise the 3D camera and the photorealistic camera as a single imaging device configured to acquire 3D depth image data simultaneously with 2D image data. Consequently, the acquired 2D images and the corresponding 2D image data can be depth-aligned with the 3D images and 3D image data.

[0046] In certain embodiments, the imaging assembly 126 may be configured to capture images of surfaces or areas of a predefined search space, or of target objects within the predefined search space. For example, each tool included in a job script may additionally include a region of interest (ROI) corresponding to a specific area or target object imaged by the imaging assembly 126. The composite region defined by the ROIs for all tools included in a particular job script may thus define the predefined search space that the imaging assembly 126 may capture to facilitate execution of the job script.However, the predefined search space may be set by the user to encompass a field of view (FOV) that is larger or smaller than the composite region defined by the ROIs of all tools included in the respective job script. It should be noted that the imaging assembly 126 may acquire 2D and / or 3D image data / datasets from a variety of regions, so that additional regions may be considered in addition to the predefined search spaces. Furthermore, in various embodiments, the imaging assembly 126 may be configured to acquire other image datasets in addition to the 2D / 3D image data, such as grayscale image data or amplitude image data, each of which may be depth-aligned with the 2D / 3D image data.

[0047] The imaging device 104 can also process the 2D image data / sets and / or 3D image datasets for use by other devices (e.g., the user computer device 102, the control computer device 103, an external server, etc.). For example, the one or more processors 118 can process the image data or datasets acquired, scanned, and / or sampled by the imaging assembly 126. The image data processing can generate post-imaging data, which may include metadata, simplified data, normalized data, result data, status data, and / or alarm data derived from the original scanned and / or acquired image data.The image data and / or the post-imaging data can be sent to the user computer device 102 and / or the control computer device 130, which runs the intelligent imaging application 116, 136, for viewing, editing, and / or other interaction. In other embodiments, the image data and / or the post-imaging data can be sent to a server for storage or further processing. As described herein, the user computer device 102, the control computer device 103, the imaging device 104, an external server, or another centralized processing unit and / or storage device can store such data and also send the image data and / or the post-imaging data to another application implemented on a user device, such as a mobile device, tablet, handheld device, desktop device, etc.

[0048] The control computing device 130 may include one or more processors 128, one or more memories 130, a network interface 132, and an I / O interface 134. The control computing device 103 may process image data and / or post-imaging data acquired, processed, and / or otherwise generated by the imaging device 104, for example, to assist operators in a variety of tasks, track objects (e.g., on a conveyor belt passing by the imaging device 104), or other tasks that benefit from or utilize machine vision.

[0049] Example processors 108, 118, 128 include a programmable processor, a programmable controller, a microcontroller, a microprocessor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), a field-programmable logic device (FPLD), etc.

[0050] Each of the one or more memories 110, 120, 130 may include one or more forms of volatile and / or non-volatile, fixed and / or removable memory, such as read-only memory (ROM), electronic programmable read-only memory (EPROM), random access memory (RAM), erasable electronic programmable read-only memory (EEPROM), and / or other hard drives, flash memory, MicroSD cards, cache, or any other storage medium, device, or disk in which information can be stored for any duration (e.g., permanently, for an extended period of time, for a short time, for temporary caching, for caching information, etc.). In general, a computer program or computer-based product, application, or code (e.g.,an intelligent imaging application 116, 136 or other computer instructions described herein) are stored on a computer-usable storage medium or an accessible, non-transient, computer-readable medium (e.g., standard RAM, an optical disk, a USB drive, or the like) in which such computer-readable program code or computer instructions are embodied, wherein the computer-readable program code or computer instructions can be installed on or otherwise adapted to be executed by the one or more processors 108, 118, 128 (e.g.,in conjunction with a respective operating system (OS) in one or more memories (110, 120, 130) to facilitate, implement, or execute the machine-readable instructions, procedures, processes, elements, or constraints as illustrated, depicted, or described in the various flowcharts, diagrams, figures, and / or other disclosures herein. In this respect, the program code can be implemented in any desired programming language and can be implemented as machine code, assembly code, bytecode, interpretable source code, or the like (e.g., via Golang, Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript, HTML, CSS, XML, etc.).

[0051] One or more memories 110, 120, 130 can contain an operating system (e.g., Microsoft Windows, Linux, Unix, etc.) capable of supporting the functionalities, applications, procedures, or other software described herein. The intelligent imaging application 116, 136, which can be configured to enable the construction of image processing jobs as further described herein, can also be stored in one or more memories 110, 130. Additionally and / or alternatively, the intelligent imaging application 116, 136 can also be stored in one or more memories 120 of the imaging device 104 and / or in an external database (not shown) accessible via the network 106 or other means of communication, or otherwise communicatively coupled with the user computer device 102.The one or more memories 110, 120, 130 may also store machine-readable instructions, including one or more applications, one or more software components, one or more user interfaces (ULs) and / or one or more application programming interfaces (APIs) that may be implemented to facilitate or perform the features, functions or other disclosures described herein, such as procedures, processes, elements or constraints as illustrated, depicted or described in the various flowcharts, diagrams, charts, figures and / or other disclosures herein.For example, at least some of the applications, software components, user interfaces, or APIs may be part of a machine vision-based image processing application, such as the intelligent imaging application 116, 136, each of which may be configured to facilitate its various functions described herein. It should be acknowledged that one or more other applications are conceivable and may be executed by the one or more processors 108, 118, and 128.

[0052] The one or more processors 108, 118, 128 may be connected to the one or more memories 110, 120, 130 via a computer bus (not shown for clarity) which is responsible for transmitting electronic data, data packets or other electronic signals to and from the one or more processors 108, 118, 128 and the one or more memories 110, 120, 130 in order to implement or execute the machine-readable instructions, procedures, processes, elements or constraints as illustrated, depicted or described in the various flowcharts, figures, diagrams, figures and / or other disclosures herein.

[0053] The one or more processors 108, 118, 128 can be connected to the one or more memories 110, 120 via the computer bus to run the operating system. The one or more processors 108, 118, 128 can also be connected to the one or more memories 110, 120, 130 via the computer bus to create, read, update, delete, or otherwise access or interact with data stored in the one or more memories 110, 120, 130 and / or external databases (e.g., a relational database such as Oracle, DB2, MySQL, or a NoSQL-based database such as MongoDB). The data stored in one or more storage devices 110, 120, 130 and / or an external database may contain all or part of the data or information described herein, including, for example, images from image processing jobs (e.g.Images captured by the imaging device 104 in response to the execution of a job script) and / or other suitable information.

[0054] Network interfaces 112, 122, and 132 can be configured to communicate (e.g., send and receive) data over one or more external / network connections with one or more networks or local end devices, such as the network 106 described here. In some embodiments, network interfaces 112, 122, and 132 can include a client-server platform technology such as ASP.NET, Java J2EE, Ruby on Rails, Node.js, a web service, or an online API that responds to and answers electronic requests. Network interfaces 112, 122, and 132 can implement the client-server platform technology that communicates over the computer bus with one or more memory locations 110, 120, and 130 (including the applications, components, APIs, data, etc., stored therein).) to implement or perform the machine-readable instructions, methods, processes, elements, or restrictions as illustrated, depicted, or described in the various flowcharts, figures, diagrams, figures, and / or other disclosures herein.

[0055] According to some embodiments, the network interfaces 112, 122, 132 may include or interact with one or more transmit / receive devices (e.g., WWAN, WLAN, and / or WPAN transmit / receive devices) that operate according to IEEE standards, 3GPP standards, or other standards and can be used for receiving and transmitting data over external / network connections connected to the network 106. In some embodiments, the network 106 may include a private network or a local area network (LAN). Additionally and / or alternatively, the network 106 may include a public network such as the Internet.In some embodiments, network 106 may include routers, wireless switches, or other such wireless connection points that communicate with user computing device 102 (via network interface 112), control computing device 103 (via network interface 132), and imaging device 104 (via network interface 122) via wireless communications based on one or more various wireless standards, including, by way of non-limiting example, IEEE 802.11a / b / c / g (WiFi). ® ), of Bluetooth ® -Standards, such as Near Field Communication (NFC), 3G, 4G, 5G or similar.

[0056] The I / O interfaces 114, 124, and 134 can contain or implement operator interfaces configured to present information to an administrator or user / operator and / or receive input from the administrator or user / operator. An operator interface can provide a screen (e.g., via the user computer device 102, the control computer device 103, and / or the imaging device 104) that a user / operator can use to display any images, graphics, text, data, features, pixels, and / or other suitable visualizations or information.For example, the user computer device 102, the control computer device 103, and / or the imaging device 104 may at least partially include, implement, access, render, or otherwise disclose a graphical user interface (GUI) for displaying images, graphics, text, data, features, pixels, and / or other suitable visualizations or information on the display screen. The I / O interfaces 114, 124, and 134 may also include I / O components (e.g., connectors, capacitive or resistive touch-sensitive input fields, buttons, knobs, lights, light-emitting diodes (LEDs), any number of keyboards, mice, USB drives, optical drives, displays, touchscreens, printers, etc.) that are directly or indirectly accessible through or connected to the user computer device 102, the control computer device 130, and / or the imaging device 104.According to some embodiments, an administrator or a user / operator may access the user computing device 102, the control computing device 103, and / or the imaging device 104 to create orders, review images or other information, make changes, enter responses and / or selections, and / or perform other functions.

[0057] As described above, in some embodiments, the user computing device 102 and / or the control computing device 130 may perform the functions described herein as part of a "cloud" network or otherwise communicate with other hardware or software components within the cloud to send, retrieve, or otherwise analyze data or information described herein.

[0058] While in Fig. One exemplary implementation of the user computer device 102, the control computer device 103 and the imaging device 104 are shown; one or more of the following may be used. Fig. The structures and / or methods shown in Figure 1 may be combined, divided, rearranged, omitted, eliminated, and / or implemented in any other way. Furthermore, the user computer device 102, the control computer device 103, and the imaging device 104 may implement one or more structures or methods in addition to those shown in Figure 1. Fig. 1 or instead of those shown and / or contain more than one or all of the structures and methods shown. IMAGE DEVICE

[0059] Fig. Figure 2 is a perspective view of the imaging device 104 of Fig. 1 according to the embodiments described herein. The imaging device 104 comprises a housing 202, an imaging aperture 204, a user interface label 206, a dome switch / button 208, one or more light-emitting diodes (LEDs) 210, and one or more mounting points 212. As mentioned previously, the imaging device 104 can receive job files from a user computer device (e.g., the user computer device 102), which the imaging device 104 then interprets and executes. The instructions contained in the job file can include device configuration settings (also referred to herein as "imaging settings") that serve to adjust the configuration of the imaging device 104 prior to acquiring images of a target object.

[0060] For example, the device configuration settings can contain instructions for adjusting one or more settings related to the imaging aperture 204. For instance, suppose that at least part of the intended analysis, corresponding to an image processing job, requires the imaging device 104 to maximize the brightness of each captured image. To meet this requirement, the job file can contain device configuration settings to increase the aperture size of the imaging aperture 204. The imaging device 104 can interpret these instructions (e.g., via the one or more processors 118) and increase the aperture size of the imaging aperture 204 accordingly. In this way, the imaging device 104 can be configured to automatically adjust its own configuration to best suit a particular image processing task.Furthermore, the imaging device 104 may, for example, include one or more bandpass filters, one or more polarizers, one or more DPM diffusers, one or more C-mount lenses and / or one or more C-mount liquid lenses above the imaging aperture 204, or otherwise affect or be adjustable to the received illumination.

[0061] The user interface label 206 may include the dome switch / button 208 and one or more LEDs 210, thereby enabling a variety of interactive and / or indicating functions. In general, the user interface label 206 may enable a user / operator to trigger and / or tune the imaging device 104 (e.g., via the dome switch / button 208) and to detect when one or more functions, errors, and / or other actions related to the imaging device 104 have been performed or have occurred (e.g., via the one or more LEDs 210). For example, the trigger function of a dome switch / button (e.g., the dome switch / button 208) may enable a user / operator to capture an image with the imaging device 104 and / or display a trigger configuration screen of a user application (e.g., the intelligent imaging application 116).The trigger configuration screen can enable the user / operator to configure one or more triggers for the imaging device 104, which can be stored in memory (e.g., in the one or more memories 120) for use in subsequently developed image processing jobs, as described herein.

[0062] As another example, the tuning function of a dome switch / button (e.g., the dome switch / button 208) can allow a user / operator to automatically and / or manually adjust the configuration of the imaging device 104 according to a preferred / specific configuration and / or display an imaging configuration screen of a user application (e.g., the intelligent imaging application 116). The image configuration screen can allow the user / operator to configure one or more configurations of the imaging device 104 (e.g., aperture size, exposure length, etc.) that can be stored in memory (e.g., in the one or more memories 120) for use in subsequently developed image processing jobs, as described herein.

[0063] To elaborate on this example, and as further explained here, a user / operator can use the image configuration screen (or more generally, the intelligent imaging application 116) to define two or more configurations of imaging settings for the imaging device 104. The user / operator can then save these two or more configurations of imaging settings as part of an image processing job, which is then transferred to the imaging device 104 in a job file containing one or more job scripts. The one or more job scripts can then instruct the processors of the imaging device 104 (e.g., the one or more processors 118) to automatically and sequentially adjust the imaging settings of the imaging device 104 after each successive image acquisition, according to one or more of the two or more configurations of imaging settings.

[0064] The attachment point(s) 212 can enable a person to connect and / or detachably fasten the imaging device 104 to a mounting device (e.g., an imaging tripod, a camera mount, etc.), a structural surface (e.g., a warehouse wall, a warehouse ceiling, a structural support beam, etc.), other accessory elements, and / or other suitable connecting devices, structures, or surfaces. For example, the imaging device 104 can be optimally positioned on a mounting device in a distribution center, a production plant, a warehouse, and / or other facility to image and monitor the quality / consistency of products, packages, and / or other items as they pass through the field of view of the imaging device 104.Furthermore, the attachment points 212 can enable a person to connect the imaging device 104 to a variety of accessories, including but not limited to one or more external lighting devices, one or more mounting devices / holders and the like.

[0065] Furthermore, the imaging device 104 can contain several hardware components within the housing 202 that enable connection to a computer network (e.g., the network 106). For example, the imaging device 104 can include a network interface (e.g., the network interface 122) that allows the imaging device 104 to connect to a network, such as a Gigabit Ethernet connection and / or a dual-Gigabit Ethernet connection. Additionally, the imaging device 104 can include transceivers and / or other communication components as part of the network interface to communicate with other devices (e.g., the user computer device 102) via, for example, Ethernet / IP, PROFINET, Modbus TCP, CC-Link, USB 3.0, NFC, Bluetooth, RS-232, and / or any other suitable communication protocol or combination thereof. IMAGE PROCESSING APPLICATION

[0066] Fig. Figure 3 shows an example of an image processing application 300 (e.g., the intelligent image processing application 116, 136) that can be used in conjunction with the control, configuration, operation, etc., of an image processing system (e.g., the imaging device 104, etc.). The example image processing application 300 includes a user interface 305 with a canvas 310 and a tool area 312. The canvas 310 can be a graphical workspace for displaying, presenting, interacting with, manipulating, etc., digital images (e.g., selected from a filmstrip 315), areas of interest (ROls), and targets within these areas of interest, in particular targets determined from the analysis of the digital images based on selected tools. The images can be received from an image processing system (e.g., the imaging device 104) and / or from an image database.In the example shown, . Fig. 3. Canvas 310 is in an editing mode and presents a tool overlay image 320, which was generated by applying one or more tools of a job script to an image 321 in the filmstrip 315. In particular, the application of the tool configuration parameters results in an area of ​​interest (ROI).

[0067] Tool area 312 lists a variety of different tools that will be part of a job script. These tools can be grouped by tool type, as shown, and include six (6) different example groupings: Locating Tools 312A, Filtering Tools 312B, Identifying Tools 312C, Presence / Absence Tools 312D, Measuring Tools 312E, and Counting Tools 312F. An example of the number of tools in each tool grouping is given in parentheses. For example, the Counting Tools 312F include three different tools: a Pixel Counting Tool, a Spot Counting Tool, and an Edge Counting Tool. In the example shown, the overlay image 320 was created by applying the Spot Counting Tool to image 321, as described below.It becomes clear that each of the tools in tool area 312 can result in its own tool overlay image 320, since each tool corresponds to different tool configuration parameters that define different conditions for image analysis. Furthermore, as explained below, multiple tools can be selected so that image 321 is analyzed simultaneously by a group of tools, with this analysis resulting in tool overlay image 320. In the illustrated example of the Spot tool, a job script that has selected this tool is executed on image 321, resulting in five (5) different spots corresponding to the Spot tool's tool configuration parameters, and thus five different spots 322, 324, 326, 328, and 330, which are identified by a fill field in canvas 310.These spots represent targets identified by a tool using its specific tool configuration parameters. For example, a spot tool identifies uniform spots with pixel intensity or uniform spots with pixel color as targets, where a spot can refer to a geometric shape such as a rectangle or square, or to an amorphous shape. Other tools identify different types of target objects based on their respective tool configuration parameters.

[0068] In general, an image processing job can be created (built up), edited, etc., by defining one or more ROIs of an image and configuring the associated image processing tools. When an ROI is selected, the image processing application 300 can display a user interface 340 for tool configuration, which allows the user / operator to configure one or more of the image processing tools (e.g., in the tool area 312) associated with the selected ROI. Once the image processing job has been defined in this way, the image processing application 300 can forward the image processing job to an image processing system (e.g., the imaging device 104, etc.), for example, as described above in conjunction with the Fig. 1 and Fig. 2 described when a user / operator activates, presses, selects, etc. a user interface feature 341 “Insert”. In some examples, an “Edit” interface feature 343 may be provided to allow editing in create mode. Fig. Figure 3 shows an example of the tool configuration user interface 340, which presents the user with a tool creator. In the example shown, the user can drag and drop one or more tools from the tool area 312 onto the tool configuration user interface 340 to create a job script with tools. In various examples, dragged and dropped tools can be executed immediately on screen 321, thereby updating the tool overlay screen 320. EXAMPLE OF THE AUTO CONFIGURATION OF A TOOL

[0069] To automatically configure a tool based on target metadata identified during a creation mode, the image processing application 300 can implement disclosed logic that allows a user to intuitively select a target with desired features and automatically generate and apply metadata corresponding to those desired characters, which can then be made available for execution at runtime on the image processing system (e.g., the imaging device 104).

[0070] Fig. Section 4 is a Flowchart 400 that presents exemplary processes, procedures, software, machine-readable instructions, etc., that can be executed to perform the automatic configuration of a tool that can be used in an image processing job. Program 400 can be implemented during the build mode, in which tools are configured and a job script for tools is created.

[0071] The 400 program from Fig. Block 405 begins by displaying a user interface of an image processing application (e.g., user interface 305 of image processing application 300) on a display. Block 410 displays one or more ROIs on a canvas of the user interface (e.g., canvas 310). For example, a captured image can be displayed on the canvas, and Block 410 can automatically identify a region of interest (ROI) within the image. For instance, Block 410 can be configured to identify an ROI based on the position of the pixels that make up the image data (e.g., the pixels over an area centered on the central pixel of the image data, or an ROI identified according to predetermined pictograms identified in Block 410). In other examples, a user can manually select an ROI. Fig. 5 shows an ROI 332 that was determined and displayed in block 410.

[0072] Program 400 then analyzes (in block 415) the ROI 332 based on one or more selected tools. These tools can be selected from the tool range 312 or selected automatically in another way, such as by a predefined tool or a set of tools that are executed by default. Block 415 can access tool configuration parameters for the tools and analyze the image data using these tool configuration parameters to identify targets in the image data that meet these parameters. The resulting targets in the ROI are displayed to the user in block 415. The examples in the Fig. 4, Fig. 5, Fig. 6 and Fig. 7 the Spot tool was applied to image 321, resulting in tool overlay image 320 in which block 415 identified and displayed targets 322, 324, 326, 328 and 330.

[0073] To automatically configure the tool or tools applied in block 415, a target is selected from the displayed targets (block 420). In some examples, the target is a user-selectable target selected by a user interacting with the canvas and clicking on one of the displayed targets. In some examples, the target may be automatically selected by block 420. For example, in block 420, program 400 may evaluate the image metadata for each identified target of block 415 and apply a statistical rule to select a representative target. For example, the target with the highest value for an image metadata item may be selected, such as the target with the largest area, the target with the largest major axis length, the target with the smallest minor axis length, or the target with an area or length closest to the mean area or length of all targets.

[0074] Fig. 6 shows the canvas 310, the overlay image 320, and the ROI 332 after the target 322 has been manually or automatically selected (block 420). In response to the selection, the program 400 determines the image metadata values ​​corresponding to the selected target. The image metadata depends on the tool(s) and typically corresponds to some or all of the tool configuration parameters that define the tool. In the Fig. In the example shown, the values ​​for six (6) image metadata elements for target 322 are determined and displayed in a menu 342. The six image metadata elements, each with specific values, are area 344, major axis length 346, minor axis length 348, angle 350, mean X-position 352, and mean Y-position 354. Of the displayed image metadata elements, three are user-selectable: 344, 346, and 348. In block 425, program 400 expects the user to select one of these elements 344, 346, or 348; more precisely, in the example shown, a selection button (labeled "AUTO") associated with the respective element.

[0075] In response to the selection of one of the user-selectable image metadata elements, Block 435 adjusts the configuration of the tools from Block 415 to match the values ​​stored in the selected metadata elements. For example, targets 322, 324, 326, 328, and 330 are first identified (Block 415) by satisfying an initial tool configuration parameter. After selection, this initial tool configuration parameter is automatically reconfigured. If metadata element 344 for the total area is selected, in some examples an autoconfiguration parameter is applied to the value of the selected metadata element that corresponds to the selected target. In the example in Fig. 7, the selected metadata item 344 "Area" has a value of 20855 pixels as the area. To automatically configure the Spot tool, block 435 may automatically set the maximum range of acceptable targets to +5%, +10%, or +20% above the value of 20855 pixels and automatically set the minimum range of acceptable targets to -5%, -10%, or -20% below the value of 20855 pixels. These values ​​of + / -N% are auto-configuration parameters that are applied to the selected metadata item to automatically adjust the tool configuration in block 435. In some examples, the auto-configuration parameter is a percentage range parameter or a binary parameter. In some examples, the auto-configuration parameter represents a combination of auto-configuration parameters, each of which revises a different metadata item.

[0076] In response to the tool's autoconfiguration, block 435 re-analyzes ROI 332 in some examples and displays an update, resulting in targets that correspond to the updated configuration; an example of this is in Fig. Figure 7 illustrates this. In the example shown, in response to the user's selection of image metadata element 344, additional targets 326 and 328 are highlighted in canvas 310, indicating that these additional targets satisfy the auto-configuration parameter, which in this example identifies all spots with an area within + / -10% of the area of ​​target 322. This means that after performing the auto-configuration, only three (3) of the original five (5) targets match the Spot Tool with the updated configuration. Now, the Spot Tool only searches for spots with an area similar to target 322. Fig. Figure 8 shows a resulting display of the user interface 305, where, in addition to selecting the AUTO button of the area image metadata element 344, the user has also selected the AUTO button of the major axis length image metadata element 346 and the AUTO button of the minor axis length image metadata element 348. When three elements are selected, block 435 applies a combination of autoconfiguration parameters, such as a range of + / - 10% for each element, to the image 321 and, in particular, to the ROI 332. The result is as shown in Fig. 8 shows that only two spots 322 and 328 meet the combined criteria of the configured spot tool.

[0077] The tool configuration user interface 340 resulting from the selection in block 425 is Fig. Figure 8 illustrates this. The tool configuration parameters for area 362, major axis length 364, and minor axis length 366 were automatically updated by block 435, displaying the corresponding value ranges. User interface 340 allows the user to manually adjust the automatically configured tool configuration parameters as needed, for example, by manually entering various min / max values. In some examples, user interface 340 may include other Fleck tool configuration parameters that, while not automatically configurable, can be set manually. These include a Fleck count min / max 368, a timeout parameter 370 to end the search for targets, and a threshold parameter 372, as shown in Fig. Figure 5 shows a fixation parameter 374 and an image type parameter 376. In some examples, the tool configurations include display parameter 378, two of which are for the Spot tool in Fig. 5 will be shown: Allow edge stains and fill holes.

[0078] After the tool or tools have been automatically configured, the updated tool can be made available for runtime execution of an image processing job (Block 440).

[0079] While examples of automatically configuring the tool in response to the selection of a target are described, in some examples, program 400 may allow the selection of multiple targets. In some such examples, the image metadata elements displayed to the user may include values ​​aggregated for the selected targets. For example, the values ​​may be the average of the values ​​for each target. In some examples, program 400 may be configured to allow the user to select a portion of the ROI in the canvas that does not correspond to a target, such as the areas between targets. In some examples, program 400 may be configured to determine aggregated values ​​of the image metadata elements for all targets initially identified by application of the tool.After one or more metadata elements have been selected, these aggregated values ​​are then used with the autoconfiguration parameter, e.g., a percentage range parameter or a binary parameter, to identify only the targets that match the newly configured tool.

[0080] The processes described here for the automatic configuration of tools, e.g. in Fig. 4. These tasks can be performed with any number of different image processing tools, in particular any image processing tool that identifies targeted image conditions, be they objects, parts of areas of interest, or features derived from the image. Examples of image processing tools are shown in Tool Section 312. Other examples include edge detection and barcode detection tools, each defined by distinct configuration parameters that can be configured automatically. For example, an edge detection tool might allow a user to select a target edge identified in a region of interest (ROI) and automatically configure the edge detection tool based on one or more image metadata elements. These image metadata elements might include, for example, the angle of the target edge, the length of the target edge, and the polarity of the target edge (e.g., polarity).whether the target edge consists of a transition from left to right from dark pixels to light pixels or from light pixels to dark pixels) and the shape of the edge (e.g. linear or curvilinear).

[0081] Other examples of image processing tools are barcode recognition tools. In some examples, the techniques described can be implemented in barcode readers or other imaging devices and are therefore not limited to image processing equipment. Barcode recognition tools, for example, can enable the automatic configuration of tool configuration parameters, such as decoded string matches or other embedded data in a barcode. Fig. Figures 9 to 11 show examples of barcode recognition devices that can be automatically configured according to the procedures described here. Fig. Figure 9, for example, shows the user interface 500 for configuring barcode tools, with three different tabs for grouping barcode tools, a tab 502 for decoding, a tab 504 for advanced grouping, and a tab 506 for grouping symbologies. Additionally, the user interface 500 can include a parameter 508 for attachment and a parameter 510 for image type.

[0082] Fig. Figure 9 shows an example of the extended decoding tab 502, while Fig. 10 and Fig. Eleven examples are shown for the Advanced tab 504 and the Symbology tab 506, respectively. As in Fig. 9, the Decode tab may include a timeout parameter 512, an "Inverse ID" parameter 514, a "Minimum % Barcode / ROI Overlap" parameter 516, and a "Read String" parameter 518. For example, parameter 516 may be automatically configured based on the percentage of overlap of a selected target barcode displayed in a canvas of user interface 500 (not shown). For example, the barcode imaging device may determine the area of ​​a selected target barcode and the percentage of that area that is within an ROI. By applying an autoconfiguration parameter, such as - / +5% or - / +10%, to this percentage overlap, parameter 516 may be automatically configured.The barcode recognition tool can be configured to search for certain predetermined character strings within a barcode's decode data or for character strings at a predetermined location within the decode data, such as the first 3, 4, 5, 6, 7, or 8 bits of the decode data. Upon selecting a target barcode within an ROI, the processes described herein can determine the value of the "Read String" parameter 518 and display it to a user so that the user can choose to automatically configure the barcode tool to identify only barcodes that contain the same value for the recognized "Read String" parameter.

[0083] Fig. 10 shows an example of the Advanced tab 504, which displays a number of different tool configuration parameters. A parameter for the decoding strategy 520 can be manually set by the user interacting with the user interface 500. For example, selecting whether to use fast decoding, as may be the case with job runs using standard image data, or slow decoding, as may be required with job runs using more complex image data, such as image data with numerous objects or numerous barcodes, or image data of lower quality. Another manually set parameter is the recognition method 522 and whether to allow rectangular codes 524. An example of an automatically configurable parameter is the expected module size (pixels) 526. This parameter can be manually set by a user via the user interface 500.However, parameter 526 can also be configured automatically by determining a corresponding value for a selected target barcode and using the procedures described here. Fig. 11 shows the symbology tab 506 assigned to a symbology parameter 528 having several different values, each of which can be automatically recognized in a target barcode and automatically set by autoconfiguration as an acceptable symbology type using the techniques described herein. In the example shown, the symbology parameter 528 can be Code 39, Code 128, Nested 2 of 5, Data Matrix, PDF417, Quick Response (QR) Code, UPC / EAN, Code 93, or DotCode, to name just one example. As illustrated, the autoconfiguration tooling techniques described herein allow for the setting of several different tool configuration parameters and the setting of several different values ​​for a single tool configuration parameter. For example, during a build phase, a user may be presented with an image containing several different barcodes, each having a different barcode symbology.Alternatively, the user may be shown several different images of barcodes with varying symbologies. The user can select any desired target barcode and update parameter 528 to include the corresponding symbology type for each barcode. Of course, in various implementations, including the one shown, the barcode recognition tool can also allow manual selection of the symbology values ​​to be included in the tool by selecting a corresponding button or a button 530 to select / deselect all symbologies.

[0084] Other configuration parameters of the barcode recognition tool include barcode parameters such as the barcode type, e.g., 1D barcode or 2D barcode, or the number of lines per barcode or the pixels per module.

[0085] It should be noted that references in this disclosure to input devices such as a mouse are not intended to be limiting, and other input devices are within the scope of this disclosure. For example, if an image processing application is executed on a mobile device such as a tablet or notebook with a touchscreen, the user's finger and corresponding input functions via a screen may function in the same way as the input functions of a computer mouse.

[0086] The processes, procedures, software and instructions of Fig.4. These can be executable programs or parts of executable programs (e.g., the intelligent imaging application 116, 136) for execution by a processor such as the processor 108, 128. The programs can be embodied in software and / or machine-readable instructions stored on a non-transitory, machine-readable storage medium. Although flowchart 400 is presented as an example, many other methods for automatically configuring image processing tools can alternatively be used. For example, the order in which the blocks are executed can be changed, and / or some of the described blocks can be modified, eliminated, or combined. Additionally or alternatively, individual or all blocks can be executed by one or more hardware circuits (e.g.,discrete and / or integrated analog and / or digital circuits), application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), field-programmable logic devices (FPLDs), logic circuits, etc. are implemented, which are structured to perform the corresponding operation(s) without the execution of software or instructions. ADDITIONAL CONSIDERATIONS

[0087] The above description refers to possible embodiments in the accompanying drawings. Alternative embodiments of the examples shown in the drawings include one or more additional or alternative elements, methods, and / or devices. Additionally or alternatively, one or more of the example blocks in the diagrams may be combined, split, rearranged, or omitted. The components represented by the blocks in the diagrams are implemented by hardware, software, firmware, and / or any combination thereof. In some examples, at least one of the components represented by the blocks is implemented by a logic circuit. As used herein, the term "logic circuit" is expressly defined as a physical device containing at least one hardware component configured (e.g.,Logic circuits are designed to control one or more machines (by operating according to a predetermined configuration and / or by executing stored machine-readable instructions) and / or to perform operations on one or more machines. Examples of logic circuits include one or more processors, one or more coprocessors, one or more microprocessors, one or more controllers, one or more digital signal processors (DSPs), one or more application-specific integrated circuits (ASICs), one or more field-programmable gate arrays (FPGAs), one or more microcontroller units (MCUs), one or more hardware accelerators, one or more special-purpose computer chips, and one or more system-on-a-chip (SoC) devices. Some example logic circuits, such as ASICs or FPGAs, are specially configured hardware for performing operations (e.g.,one or more of the operations described herein and illustrated in the flowcharts of this disclosure, if any). Some example logic circuits are hardware that executes machine-readable instructions to perform operations (e.g., one or more of the operations described herein and illustrated by the flowcharts of this disclosure, if any). Some example logic circuits include a combination of specially configured hardware and hardware that executes machine-readable instructions. The above description refers to various operations described herein and flowcharts that may be attached to illustrate the flow of those operations. All such flowcharts are representative of the example methods disclosed herein. In some examples, the methods represented by the flowcharts implement the devices represented by the block diagrams.Alternative implementations of the example methods disclosed herein may include additional or alternative operations. Furthermore, operations of alternative implementations of the methods disclosed herein may be combined, split, rearranged, or omitted. In some examples, the operations described herein are implemented by machine-readable instructions (e.g., software and / or firmware) stored on a medium (e.g., an accessible machine-readable medium) for execution by one or more logic circuits (e.g., processor(s)). In some examples, the operations described herein are implemented by one or more configurations of one or more custom-designed logic circuits (e.g., ASIC(s)). In some examples, the operations described herein are implemented by a combination of custom-designed logic circuits and machine-readable instructions stored on a medium (e.g.,(stored on an accessible, machine-readable medium) for execution by logic circuits, implemented.

[0088] As used herein, each of the terms “accessible machine-readable medium”, “non-transient machine-readable medium”, and “machine-readable storage device” is expressly defined as a storage medium (e.g., a disk of a hard disk drive, a digital versatile disc, a compact disc, flash memory, read-only memory, random access memory, etc.) on which machine-readable instructions (e.g., program code in the form of, for example, software and / or firmware) are stored for any suitable duration (e.g., permanently, for a longer period (e.g., during the execution of a program associated with the machine-readable instructions), and / or for a short period (e.g., during the temporary storage of the machine-readable instructions and / or during a buffering process)).Furthermore, the terms "accessible, machine-readable medium," "non-transitory, machine-readable medium," and "machine-readable storage device" are expressly defined herein to exclude the transmission of signals. That is, none of the terms "accessible, machine-readable medium," "non-transitory, machine-readable medium," and "machine-readable storage device" as used in the claims of this patent can be read as being implemented by a propagating signal.

[0089] Certain embodiments have been described in the foregoing description. However, it is clear to a person skilled in the art that various modifications and changes can be made without deviating from the scope of the invention as set forth in the claims below. Accordingly, the description and the figures are to be understood as illustrative rather than limiting, and all such modifications are to be included within the scope of the present teachings. Furthermore, the described embodiments / examples / implementations are not to be understood as mutually exclusive, but rather as potentially combinable if such combinations are in any way permissive. In other words, any feature disclosed in one of the aforementioned embodiments / examples / implementations can be included in any of the other aforementioned embodiments / examples / implementations.

[0090] The benefits, advantages, solutions to problems, and any elements that may result in the occurrence or enhancement of a benefit, advantage, or solution are not to be construed as critical, required, or essential features or elements in any or all of the claims. The invention is defined solely by the appended claims, including any amendments made during the pendency of this application and all equivalents of the granted claims.

[0091] Furthermore, in this document, relational terms such as first and second, upper and lower, and the like may be used merely to distinguish one entity or action from another entity or action, without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms "comprises," "comprising," "has," "having," "comprising," "includes," "containing," or any other variation thereof are intended to cover non-exclusive inclusion, such that a process, method, product, or apparatus that comprises, has, has, or contains a list of elements not only includes those elements, but may also include other elements not expressly listed or inherent in such process, method, product, or apparatus. An element that is preceded by "comprises," "has," "has," or "includes"The use of the term "a" does not, without further limitations, preclude the existence of additional identical elements in the process, method, product, or device that comprises, has, features, or contains the element. The terms "a" and "a" are defined as one or more unless expressly stated otherwise herein. The terms "essentially," "generally," "approximately," "about," or any other version thereof are defined in such a way as to be understood by a person skilled in the art in this field, and in one non-restrictive embodiment, the expression is defined as within 10%, in another embodiment as within 5%, in yet another embodiment as within 1%, and in yet another embodiment as within 0.5%. The term "coupled," as used herein, is defined as connected, but not necessarily directly and not necessarily mechanically.A device or structure that is “configured” in a certain way is at least also configured in that way, but may also be configured in ways that are not listed.

[0092] Unless explicitly stated otherwise, "or" refers to an inclusive or and not an exclusive or. For example, "A, B, or C" refers to any combination or subset of A, B, or C, such as (1) A alone, (2) B alone, (3) C alone, (4) A with B, (5) A with C, (6) B with C, and (7) A with B and with C. The phrase "at least one of A and B" refers to any combination or subset of A and B, such as (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, the phrase "at least one of A or B" is intended to refer to any combination or subset of A and B, such as (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.

[0093] The summary of the disclosure is provided to enable the reader to quickly ascertain the essence of the technical disclosure. It is provided with the understanding that it is not intended to be used for interpreting or limiting the scope or meaning of the claims. Furthermore, it can be inferred from the preceding detailed description that various features in different embodiments have been summarized for the purpose of streamlining the disclosure. This type of disclosure is not to be interpreted as reflecting the intention that the claimed embodiments require more features than are expressly stated in each claim. Rather, as the following claims demonstrate, the inventive step lies in fewer than all the features of a single disclosed embodiment.The following claims are hereby incorporated into the detailed description, each claim being a separately claimed subject matter. QUOTES CONTAINED IN THE DESCRIPTION

[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature

[0000] US 63 / 357,504

[0001]

Claims

[1] A method for automatically configuring a tool for one or more imaging device jobs, the method comprising: Displaying, by one or more processors, an interactive graphical user interface (GUI) of an application via a screen, the application configured to generate job flows for the imaging devices in a job processing mode; Displaying an image by the one or more processors within the interactive graphical user interface; detecting, by the one or more processors, a selection of a region of interest (ROI) of the image; analyzing the ROI of the image by the one or more processors using a tool to identify one or more targets in the image based on tool configuration parameters of the tool; Selecting a target from one or more targets in the image and displaying user-selectable image metadata elements and result values ​​for each element corresponding to the selected target; Selecting one or more user-selectable image metadata elements; Adjusting the tool configuration based on the user-selectable image metadata elements to generate revised tool configuration parameters for the tool; and reanalyze and display the ROI of the image using the tool with the revised tool configuration. [2] The method of claim 1, further comprising: Revise the order to include the tool with revised tool configuration; and Submitting the revised job to the imaging device for execution during a job runtime mode. [3] The method of claim 1, wherein each of the user-selectable image metadata elements corresponds to a different element in the tool configuration. [4] The method of claim 1, wherein adjusting the tool configuration based on the user-selectable image metadata elements comprises: For each selected or multiple user-selectable image metadata elements, apply an autoconfiguration parameter to automatically adjust the tool configuration. [5] The method of claim 4, wherein the autoconfiguration parameter is a percentage range parameter or a binary parameter. [6] The method of claim 4, wherein the autoconfiguration parameter represents a combination of autoconfiguration parameters, each intended to revise a different element of the tool configuration. [7] The method of claim 4, further comprising, for each of the one or more user-selectable image metadata items, displaying a current parameter value corresponding to the one or more targets and displaying a user selection button. [8] The method of claim 4, wherein the tool is a spot detection tool, and wherein analyzing the ROI of the image using the tool to identify the one or more targets in the image comprises: Identifying uniform patches of pixel intensity or pixel color as the one or more targets. [9] The method of claim 8, wherein the plurality of user-selectable image metadata elements are selected from the group consisting of area, major axis length, and minor axis length. [10] The method of claim 8, wherein the tool configuration of the spot detection tool includes a face, a major axis length and a minor axis length, an axis, a mean X-axis position, and a mean Y-axis position. [11] The method of claim 4, wherein the tool is a barcode recognition tool, and wherein analyzing the ROI of the image using the tool to identify the one or more targets in the image comprises: Identifying one or more barcodes in the image as the one or more targets. [12] The method of claim 11, wherein the one or more user-selectable image metadata elements comprise a barcode symbology type or a percentage barcode overlap in the ROI. [13] The method of claim 4, wherein the tool is an edge detection tool, and wherein analyzing the ROI of the image using the tool to identify the one or more targets in the image comprises: Identifying one or more edges in the image as the one or more targets. [14] The method of claim 13, wherein the one or more user-selectable image metadata elements comprise an edge angle, an edge length, or an edge polarity. [15] A system for automatically configuring a tool for one or more imaging device jobs, the method comprising: an image processing camera; and a user computing device coupled to the image processing camera, the user computing device configured to: displaying an interactive graphical user interface (GUI) of an application by one or more processors via a screen, the application configured to generate job flows for the imaging devices in a job processing mode; display an image by the one or more processors within the interactive graphical user interface; detecting a selection of a region of interest (ROI) of the image by the one or more processors; analyze the ROI of the image by the one or more processors using a tool to identify one or more targets in the image based on tool configuration parameters of the tool; select a target from the one or more targets in the image and display user-selectable image metadata elements and result values ​​of each element corresponding to the selected target; select one or more user-selectable image metadata elements; adjust the tool configuration based on the user-selectable image metadata elements to generate revised tool configuration parameters for the tool; and to re-analyze and display the ROI of the image using the tool with the revised tool configuration. [16] The system of claim 15, wherein the user computing device is further configured to: revised the order to include the tool with the revised tool configuration; and deploy the revised job for the imaging device to execute in a job runtime mode. [17] The system of claim 15, wherein each of the user-selectable image metadata elements corresponds to a different element in the tool configuration. [18] The system of claim 15, wherein the user computing device is further configured to adapt the tool configuration based on the user-selectable image metadata elements by: For each selected or multiple user-selectable image metadata elements, apply an auto-configuration parameter to automatically adjust the tool configuration. [19] The system of claim 18, wherein the autoconfiguration parameter is a percentage range parameter or a binary parameter. [20] The system of claim 18, wherein the autoconfiguration parameter represents a combination of autoconfiguration parameters each intended to revise a different element of the tool configuration. [21] The system of claim 18, wherein the user computing device is further configured to display, for each of the one or more user-selectable image metadata items, a current parameter value corresponding to the one or more targets and display a user selection button. [22] The system of claim 18, wherein the tool is a spot detection tool, and wherein the user computing device is further configured to analyze the ROI of the image using the tool to identify the one or more targets in the image by: Identifying uniform patches of pixel intensity or pixel color as the one or more targets. [23] The system of claim 22, wherein the one or more user-selectable image metadata elements are selected from the group consisting of area, major axis length, and minor axis length. [24] The system of claim 22, wherein the tool configuration of the spot detection tool includes a face, a major axis length and a minor axis length, an axis, a mean X-axis position, and a mean Y-axis position. [25] The system of claim 18, wherein the tool is a barcode recognition tool, and wherein the user computing device is further configured to analyze the ROI of the image using the tool to identify the one or more targets in the image by: Identifying one or more barcodes in the image as the one or more targets. [26] The system of claim 25, wherein the one or more user-selectable image metadata elements comprise a barcode symbology type or a percentage barcode overlap in the ROI. [27] The system of claim 18, wherein the tool is an edge detection tool, and wherein the user computing device is further configured to analyze the ROI of the image using the tool to identify the one or more targets in the image, comprising: Identifying one or more edges in the image as the one or more targets. [28] The system of claim 27, wherein the one or more user-selectable image metadata elements comprise an edge angle, an edge length, or an edge polarity. [29] A non-transitory, machine-readable storage medium that stores instructions that, when executed by one or more processors, cause a user computing device to: Displaying, by one or more processors, an interactive graphical user interface (GUI) of an application via a screen, the application configured to generate job flows for the imaging devices in a job processing mode; Displaying an image by the one or more processors within the interactive graphical user interface; detecting, by the one or more processors, a selection of a region of interest (ROI) of the image; analyzing the ROI of the image by the one or more processors using a tool to identify one or more targets in the image based on tool configuration parameters of the tool; Selecting a target from the one or more targets in the image and displaying user-selectable image metadata elements and result values ​​for each element corresponding to the selected target; Selecting one or more user-selectable image metadata elements; Adjusting the tool configuration based on the user-selectable image metadata elements to generate revised tool configuration parameters for the tool; and reanalyze and display the ROI of the image using the tool with the revised tool configuration.

Citation Information

Patent Citations

  • 63/357,504