Methods and devices for dynamically adjusting the exposure time of an image sensor for three-dimensional profiling of an object

The system dynamically adjusts imaging device exposure time based on image classification to enhance 3D measurement and reconstruction accuracy, addressing inefficiencies in conventional methods.

DE102025145495A1Pending Publication Date: 2026-05-07ZEBRA TECHNOLOGIES CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Applications
Current Assignee / Owner
ZEBRA TECHNOLOGIES CORP
Filing Date
2025-11-05
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Conventional auto-exposure algorithms and hardware implementations in imaging devices are inefficient and lack versatility in dynamically adjusting exposure time based on image classification, leading to reduced efficiency and accuracy in 3D measurement and reconstruction processes.

Method used

A system and method that automatically and dynamically modify the exposure time of an imaging device by decreasing or increasing it based on image classification, using fewer FPGA resources, to enhance 3D measurement and reconstruction accuracy.

Benefits of technology

Improves the efficiency and accuracy of 3D measurement and reconstruction processes by dynamically adjusting exposure time, reducing resource consumption and enhancing processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Methods and devices for dynamically adjusting the exposure time of an image sensor are disclosed herein. The method captures a first image of an object via an imaging assembly of a device. The imaging assembly comprises a light source and at least one image sensor with a first exposure time during the capture of the first image. The method determines an average number of first-class pixels per column of pixels present in the first image and determines whether the average number of first-class pixels per column of pixels lies within a certain range.If the average number of first-class pixels per column of pixels is not within the range, the method modifies the first exposure time of the at least one image sensor by one of decreasing or increasing the first exposure time of the at least one image sensor based on a classification of the first image.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] Machine vision technologies provide a means for image-based inspection and analysis for applications ranging from automated parts inspection, process control, robot guidance, part identification, barcode reading, and many others. Machine vision technologies rely on capturing and processing images to perform specific analyses or tasks, often requiring the integrated use of both imaging and processing systems. For example, machine vision technologies can capture and process images to perform three-dimensional (3D) profiling of an object (e.g., 3D measurement and / or reconstruction of the object). Brief description of the different views of the drawings

[0002] The accompanying figures, in which the same reference numerals refer to identical or functionally similar elements in the individual views, are integrated into the description together with the detailed description below and form a part thereof, serving to further illustrate embodiments of concepts that include the claimed invention and to explain various principles and advantages of these embodiments. Fig. Figure 1 is a representation illustrating an exemplary embodiment of a system of the present disclosure. Fig. Figures 2A-B are representations illustrating an embodiment of a device of the present disclosure. Fig. Figure 3 is a representation that shows an exemplary environment for implementing the device of Fig. 2A-B illustrated. Fig. Figure 4 is a flowchart illustrating processing steps performed by an embodiment of the present disclosure. Fig. 5 is a representation illustrating an exemplary image produced by the device of Fig. 2A-B is recorded. Fig. 6A is a representation illustrating an exemplary image produced by the device of Fig. 2A-B is recorded. Fig. 6B is a representation that is a diagram of the exemplary image of the Fig. 6A illustrates. Fig. 7A is a flowchart showing an exemplary embodiment of step 308 of the Fig. 4 illustrated in more detail. Fig. 7B is a flowchart showing another exemplary embodiment of step 308 of the Fig. 4 illustrated in more detail. Fig. 8 is a flowchart representing step 404 of the Fig. 7A and step 430 of the Fig. 7B is illustrated in more detail. Fig. 9A is a representation illustrating an exemplary image produced by the device of Fig. 2A-B is recorded. Fig. 9B is a representation that is a diagram of the exemplary image of the Fig. 9A illustrates. Fig. 10 is a flowchart that represents step 410 of the Fig. 7A and step 424 of the Fig. 7B is illustrated in more detail. Fig. 11A is a representation illustrating an exemplary image produced by the device of Fig. 2A-B is recorded. Fig. Figure 11B is a representation that shows a diagram of the exemplary image of the Fig. 11A illustrates this.

[0003] Experts will recognize that elements in the figures are illustrated 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 help improve the understanding of embodiments of the present invention.

[0004] Where appropriate, the apparatus and process components have been represented by conventional symbols in the drawings, which show only those specific details relevant to understanding the embodiments of the present disclosure, so as not to obscure the disclosure with details that would be obvious to persons skilled in the art referring to the present description. Detailed description

[0005] As mentioned above, machine vision technologies can capture and process images to perform three-dimensional (3D) profiling of an object (e.g., 3D measurement and / or reconstruction of the object). A 3D measurement and / or reconstruction device or system uses a light source to project one or more layers of light (e.g., a laser beam, structured light, or the like) onto an object and uses an imaging device (e.g., a camera, image sensor, or the like) to capture an image of the object illuminated by the light source. For example, the image might be a laser profile image, which generally includes a bright line on a dark and nearly featureless background. The device or system detects and uses the position of the bright line in the captured image to determine and / or reconstruct 3D measurements of the object.The accuracy of 3D measurements and / or object reconstruction depends on the exposure time of the imaging device. For example, if a suitable exposure time is used, the position of the center of a bright line in each column of a captured image can be transformed into a 3D point in a world coordinate system. These 3D points lie on a plane defined by the light source, thus creating a slice or profile of the object. Multiple profiles can be combined to form a 3D point cloud of the object.

[0006] Conventional auto-exposure algorithms are incompatible with a laser profile image. For example, the center of a line present in a laser profile image is generally saturated when the exposure time of an imaging device is within a predetermined (e.g., suitable) range, and as such, increasing the exposure time of the imaging device provides a widening of the line rather than an increase in the line's brightness.

[0007] Proposed techniques for mitigating shortcomings of conventional auto-exposure algorithms include implementing these algorithms in hardware, including, but not limited to, a field-programmable gate array (FPGA). However, these hardware implementations are generally limited by size and / or power consumption, which can reduce the processing efficiency of an imaging device and / or system, result in underexposed laser profile images, and decrease the efficiency and accuracy of the 3D measurement and / or reconstruction process of an object.

[0008] As such, conventional systems suffer from a general lack of versatility, as these systems cannot automatically and dynamically modify the exposure time of an imaging device by either decreasing or increasing the exposure time of the imaging device based on a classification (e.g., overexposed or underexposed) of a laser profile image, while using fewer FPGA resources (e.g., lookup tables or LUTs, random access memory or RAM, or the like) to improve and enhance the efficiency and accuracy of the 3D measurement and / or reconstruction process of an object.

[0009] Overall, this lack of versatility means that conventional systems deliver overwhelming performance but reduce the efficiency and overall timeliness of laser profile image processing and the 3D measurement and / or reconstruction process of an object. Therefore, an objective of this disclosure is to eliminate these and other problems associated with conventional systems and methods by providing systems and methods that can modify the exposure time of an imaging device by either decreasing or increasing the exposure time of the imaging device based on a classification (e.g., overexposed or underexposed) of a laser profile image, while using fewer FPGA resources, thereby improving the efficiency and accuracy of the 3D measurement and / or reconstruction process of an object.

[0010] In accordance with the above and the disclosure herein, the present disclosure includes improvements to computer functionality or improvements to other technologies, at least because the present disclosure describes how, for example, imaging devices and / or systems and their various associated components can be improved or enhanced with the disclosed dynamic system features and methods. That is to say, the present disclosure describes improvements to the functioning of an imaging device and / or an image processing device and / or an image processing system and / or "any other technology or any other technical field" (e.g., the field of image processing).For example, the disclosed dynamic system features and methods improve and enhance the 3D measurement and / or reconstruction process of an object by introducing the automatic and dynamic modification of an imaging device's exposure time by either decreasing or increasing the imaging device's exposure time based on a classification (e.g., overexposed or underexposed) of a laser profile image, while using fewer FPGA resources.

[0011] Furthermore, the present disclosure applies various features and functionalities, as described herein, with or using a specific machine, e.g., a processor, device, and / or other hardware components, as described herein. In addition, the present disclosure includes other specific features beyond what is well understood, routine, conventional activity in the field, or the addition of non-conventional steps, which, in various embodiments, demonstrate certain useful applications, e.g., image processing protocols of an imaging device for modifying an exposure time of the imaging device by either decreasing or increasing the exposure time of the imaging device based on a classification (e.g.,overexposed or underexposed) of a laser profile image, while using fewer FPGA resources to improve and enhance the efficiency and accuracy of the 3D measurement and / or reconstruction process of an object.

[0012] Accordingly, it would be highly advantageous to develop a system and method that can automatically and dynamically modify the exposure time of an imaging device by either decreasing or increasing the exposure time based on a classification (e.g., overexposed or underexposed) of a laser profile image. The systems and methods of this disclosure address these and other needs.

[0013] In one embodiment, the present disclosure relates to a method. The method comprises: capturing, via an imaging assembly of a device, a first image of an object, wherein the imaging assembly comprises a light source and at least one image sensor with a first exposure time during the capture of the first image, and wherein the first image has a first region and a second region; determining an average number of a first class of pixels per column of pixels present in the first image, based on the number of first class pixels present in the first image and the number of columns of pixels in the first image; and determining whether the average number of first class pixels per column of pixels lies within a predetermined range.in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modifying the first exposure time of the at least one image transmitter by either decreasing the first exposure time of the at least one image transmitter or increasing the first exposure time of the at least one image transmitter based on a classification of the first image, wherein the first range is a line indicating light present in the first image, the second range indicates a background of the first image, and the first-class pixels indicate pixels that satisfy a brightness threshold present in the first image.

[0014] In one embodiment, the present disclosure relates to a device comprising an imaging assembly with a light source and at least one image sensor; one or more processors; and a non-volatile, computer-readable memory coupled to the one or more processors. The memory stores instructions which, when executed by the one or more processors, cause the one or more processors to: receive a first image of an object, wherein the first image is acquired by the at least one image sensor using a first exposure time, and wherein the first image has a first region and a second region;Determine the average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image; determine whether the average number of first-class pixels per column of pixels lies within a predetermined range;in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modifying the first exposure time of the at least one image transmitter by either decreasing the first exposure time of the at least one image transmitter or increasing the first exposure time of the at least one image transmitter based on a classification of the first image, wherein the first range is a line indicating light present in the first image, the second range indicates a background of the first image, and the first-class pixels indicate pixels that satisfy a brightness threshold present in the first image.

[0015] In one embodiment, the present disclosure is directed to a non-volatile, computer-readable medium. The non-volatile, computer-readable medium stores instructions on it which, when executed by one or more processors, cause the one or more processors to: receive, via an imaging assembly of a device, a first image of an object, wherein the imaging assembly comprises a light source and at least one image sensor with a first exposure time during the acquisition of the first image, and wherein the first image comprises a first region and a second region; determine an average number of a first class of pixels per column of pixels present in the first image, based on the number of first class pixels present in the first image and the number of columns of pixels in the first image;Determine whether the average number of first-class pixels per column of pixels is within a predetermined range; in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modify the first exposure time of the at least one image transmitter by one of decreasing the first exposure time of the at least one image transmitter or increasing the first exposure time of the at least one image transmitter based on a classification of the first image, wherein the first range is a line indicating light present in the first image, the second range indicates a background of the first image, and the first-class pixels indicate pixels that satisfy a brightness threshold present in the first image.

[0016] Referring to the drawings, Fig. 1 A representation illustrating an exemplary embodiment of a system 100 of the present disclosure. In the exemplary embodiment of the Fig. The imaging system 100 comprises a computing device 102 and an imaging device 104, which is communicatively coupled to the computing device 102 via a network 106. In general, the computing device 102 and / or the imaging device 104 can execute instructions to implement, for example, operations of the exemplary procedures described herein, as illustrated by the flowcharts in the drawings accompanying this description. The computing device 102 is generally configured to allow a user / operator to generate a machine vision job, such as a 3D measurement and / or reconstruction job, for execution on the imaging device 104.Once generated, the user / operator can then transmit / upload the machine vision job to the imaging device 104 via the network 106, where the machine vision job is then interpreted and executed. The computing device 102 can comprise one or more operator workstations and can include one or more processors 108, one or more memories 110, a network interface 112, an input / output (I / O) interface 114, a display 115, and an imaging application 116 (also simply referred to as the application 116).

[0017] The imaging device 104 is connected to the computing device 102 via a network 106 and is configured to interpret and execute machine vision jobs and / or various 3D measurement and / or reconstruction jobs received from the computing device 102. The imaging device 104 can be a 3D profile sensor or a 3D profiler. For example, the imaging device 104 can be a Zebra® Altiz 3D profile sensor. A machine vision job can be 3D profiling to generate a 3D representation (e.g., a point cloud) of an object. In 3D profiling, one or more image transmitters or image sensors observe a line of light (e.g., laser light) projected onto an object, with the light bending to follow a contour of the object to produce a profile that can be used to calculate a depth or height along a width (e.g., thickness) of the line of light.In general, the imaging device 104 can receive a job file containing one or more job scripts from the computing device 102 via the network 106. The computing device 102 can define the machine vision job and configure the imaging device 104 to acquire and / or analyze images according to the machine vision job. For example, the imaging device 104 may include flash memory used to determine, store, or otherwise process imaging data / records and / or re-imaging data. The imaging device 104 can then receive, detect, and / or otherwise interpret a trigger that causes the imaging device 104 to acquire an image of an object according to the configuration created by the one or more job scripts.Once acquired and / or analyzed, the imaging device 104 can transmit the images and any associated data via the network 106 to the computing device 102 for further analysis and / or storage. Alternatively, the imaging device 104 can further analyze or store acquired and / or analyzed images and any associated data. In various embodiments, the imaging device 104 can be a "smart" camera and / or otherwise configured to automatically perform sufficient functionality to receive, interpret, and execute job scripts that define machine vision jobs, such as any one or more job scripts contained in one or more job files, such as those received from the computing device 102.

[0018] In general, the job file can be a JSON representation / data format of one or more job scripts that can be transferred from Computing Device 102 to Imaging Device 104. The job file can also be loadable / readable by a C++ runtime engine or other suitable runtime engine running on Imaging Device 104. Furthermore, Imaging Device 104 can run a server (not shown) configured to listen for and receive job files from Computing Device 102 over Network 106. Additionally or alternatively, the server configured to listen for and receive job files can be implemented as one or more cloud-based servers, such as a cloud-based computing platform. For example, the server can be any one or more cloud-based platforms, such as Microsoft Azure, Amazon AWS, or the like.

[0019] In any case, the imaging device 104 can include one or more processors 118, one or more memory units 120 with the application 116, a network interface 122, an I / O interface 124, an imaging assembly 126 with a light source 132 (e.g. a laser) and image transmitter(s) 134 and sensor(s) 128.

[0020] The imaging assembly 126 can include a light source 132 (e.g., a laser) for projecting laser light onto an object and image sensor(s) 134 (e.g., a digital camera, image sensors, and / or a digital video camera) for capturing or recording digital images and / or frames (individual images). Each digital image can include pixel data, vector information, or other image data that can be analyzed by one or more tools, each configured to perform an image analysis task. In one embodiment, the imaging assembly 126 can have a dual-imager 134 (e.g., dual-camera) single-light-source 132 (e.g., laser) design, in which the dual image sensors 134 operate either synchronously or in alternation. In this way, the embodiment enables the reduction of imaging gaps that generally occur at critical surface junctions due to optical occlusion and generates 3D data (e.g.,Profiles, depth maps and / or point clouds) by combining or selecting pixel data from the captured digital images and / or frames.

[0021] The digital camera, image sensors and / or digital video camera of, for example, the imaging assembly 126 can be configured, as disclosed herein, to take, capture, retain 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 computing device 102 and / or the imaging device 104).

[0022] For example, the imaging assembly 126 can include a photorealistic camera (not shown) for capturing, sampling, or scanning 2D image data. The photorealistic camera can be an RGB-based (red, green, blue) camera for capturing 2D images with RGB-based pixel data. In various embodiments, the imaging assembly can additionally include a 3D camera (not shown) for capturing, sampling, or scanning 3D image data. The 3D camera can include an infrared projector (IR projector) and an associated IR camera for capturing, sampling, or scanning 3D image data / datasets. A 3D camera of the imaging assembly 126 can include one or more time-of-flight cameras, stereoscopic cameras, structured light cameras, distance cameras, 3D profile sensors, or triangulation 3D imagers.In any embodiment, the imaging assembly 126 can include a camera capable of capturing color information from a field of view (FOV) of the camera. In some embodiments, the photorealistic camera of the imaging assembly 126 can capture 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 sets of 3D image data and 2D image data available for a given surface, object, area, or scene at the same or a similar time. In various embodiments, the imaging assembly 126 can include the 3D camera and the photorealistic camera as a single imaging device configured to capture 3D depth image data simultaneously with 2D image data.Thus, the captured 2D images and the corresponding 2D image data can be depth-aligned with the 3D images and 3D image data. For example, a 3D image can contain a point cloud or 3D point cloud. Therefore, as used here, the terms 3D image and point cloud or 3D point cloud can be understood as interchangeable.

[0023] In embodiments, the imaging assembly 126 can be configured to capture images of surfaces or areas within a predefined search space, or of objects within that predefined search space. For example, each tool included in a job script can additionally include an area of ​​interest (ROI) corresponding to a specific area or object imaged by the imaging assembly 126. The ROI can be predefined, or it can be determined by image analysis by the processor 118. Furthermore, a plurality of ROIs can be predefined or determined by image processing. The composite area defined by the ROIs for all tools included in a given job script can thus define the predefined search space that the imaging assembly 126 can capture to facilitate job script execution.The predefined search space can, however, be user-specified to include a field of view (FOV) that is larger or smaller than the composite area defined by the regions of interest (ROIs) of all tools included in the specific job script. It should be noted that the Imaging Assembly 126 can capture 2D and / or 3D image data / datasets from a variety of areas, so additional areas beyond the predefined search spaces are considered herein. Furthermore, the Imaging Assembly 126 can be configured in various embodiments to capture other sets of image data in addition to the 2D / 3D image data, such as grayscale image data or amplitude image data, each of which can be depth-aligned with the 2D / 3D image data. Finally, one or more ROIs can be located within an FOV of the imaging system, so any portion of the FOV of the imaging system can be an ROI.

[0024] The imaging device 104 can also process the 2D image data / datasets and / or 3D image datasets for use by other devices (e.g., the computing device 102, an external server). For example, the one or more processors 118 can process the image data or datasets acquired, scanned, 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, or alarm data, as determined from the original scanned or sampled image data. The image data and / or the post-imaging data can be transferred to the computing device 102, which runs the imaging application 116, for viewing, manipulation, and / or other interaction.In other embodiments, the image data and / or the post-imaging data can be transferred to a server for storage or further manipulation. As described herein, the computing device 102, the imaging device 104, and / or the external server or other centralized processing unit and / or storage device can store such image data and can also transfer the image data and / or the post-imaging data to another application implemented on a user device, such as a mobile device, a tablet, a handheld device, or a desktop device.

[0025] Each of the one or more memory locations 110, 120 may include one or more forms of volatile and / or non-volatile, fixed and / or removable memory, such as read-only memory (ROM), electronically programmable read-only memory (EPROM), random-access memory (RAM), erasable electronically programmable read-only memory (EEPROM), and / or other hard disks, flash memory, microSD cards, and others. In general, a computer program or computer-based product, computer-based application, or computer-based code (e.g., the imaging application 116 or other computational instructions described herein) may be stored on a computer-accessible storage medium or a tangible, non-volatile, computer-readable medium (e.g.,a standard random access memory (RAM), an optical disk, a universal serial bus (USB) drive, or the like) that embodies such computer-readable program code or computer instructions, wherein the computer-readable program code or computer instructions may be installed on or otherwise adapted to be executed by the one or more processors 108, 118 (e.g., in conjunction with the respective operating system in the one or more memories 110, 120) to facilitate, implement, or carry out the machine-readable instructions, procedures, processes, elements, or constraints as illustrated, depicted, or described for the various flowcharts, diagrams, figures, and / or other disclosures herein.

[0026] When executed by one or more processors 108, 118, application 116 configures them to perform various functions, described in more detail below. These functions involve automatically and dynamically modifying the exposure time of an imaging device 104 by either decreasing or increasing the exposure time based on a classification (e.g., overexposed or underexposed) of a captured image of an object, in order to improve and enhance the efficiency and accuracy of a 3D measurement and / or reconstruction process of the object. For example, when executed by one or more processors 108, 118, application 116 configures them to: receive an initial image of an object,wherein the first image is captured by at least one image sensor 134 using a first exposure time, and wherein the first image has a first region and a second region; determining an average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image; determining whether the average number of first-class pixels per column of pixels is within a predetermined range; in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range,Modifying the first exposure time of the at least one image transmitter 134 by either decreasing the first exposure time of the at least one image transmitter 134 or increasing the first exposure time of the at least one image transmitter 134 based on a classification of the first image, wherein the first area is a line indicating light present in the first image, the second area indicates a background of the first image, and the first class of pixels indicates pixels that satisfy a brightness threshold present in the first image.

[0027] 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 Go, Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript, HTML, CSS, XML, etc.). Application 116 can also be implemented as a series of different applications in other examples. Experts will recognize that the functionality implemented by the one or more processors 108, 118 through the execution of Application 116 can also be implemented in other embodiments by one or more specially designed hardware and firmware components, such as field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), and the like.

[0028] The one or more memories 110, 120 can store an operating system (OS) (e.g., Microsoft Windows, Linux, Unix, etc.) capable of facilitating the functionalities, apps, procedures, or other software discussed herein. The one or more memories 110 can also store the application 116, which may be configured to enable machine vision job design, as further described herein. Additionally or alternatively, the imaging application 116 may also be stored in the one or more memories 120 of the imaging device 104 and / or in an external database (not shown) accessible via the network 106 or otherwise communicatively coupled to the computing device 102.The one or more memories 110, 120 may also store machine-readable instructions, including any one or more from one or more applications, one or more software components, 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 any procedures, processes, elements, or constraints as illustrated, depicted, or described for the various flowcharts, diagrams, representations, figures, and / or other disclosures herein. For example, at least some of the applications, software components, or APIs may be, include, or otherwise be part of a machine vision-based imaging application, such as the imaging application 116, each of which may be configured to facilitate its various functionalities discussed herein.It is understood that one or more other applications may be considered and executed by one or more processors.

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

[0030] The one or more processors 108, 118 can be connected to the one or more memories 110, 120 via the computer bus to run the operating system (OS). The one or more processors 108, 118 can also be connected to the one or more memories 110, 120 via the computer bus to create, read, update, delete, or otherwise interact with the data stored in the one or more memories 110, 120 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 the one or more memories 110, 120 and / or an external database can include all or part of any of the data or information described herein, including, for example, machine vision job images (e.g.,Images captured by the imaging device 104 in response to the execution of a job script) and / or other suitable information.

[0031] The network interfaces 112, 122 can be configured to communicate (e.g., transmit and receive) data over one or more external / network connections to one or more networks or local end devices, such as the network 106 described herein. In some embodiments, the network interfaces 112, 122 can incorporate a client-server platform technology, such as ASP.NET, Java J2EE, Ruby on Rails, Node.js, a web service, or an online API, for receiving and responding to electronic requests. The network interfaces 112, 122 can implement the client-server platform technology, which communicates over the computer bus with the one or more memories 110, 120 (including the application(s), component(s), API(s), data, etc., stored therein).) can interact to implement or perform the machine-readable instructions, procedures, processes, elements or constraints as illustrated, depicted or described for the various flowcharts, diagrams, representations, figures and / or other disclosures herein.

[0032] According to some embodiments, the network interfaces 112, 122 can include or interact with one or more transceivers (e.g., WWAN, WLAN, and / or WPAN transceivers) that operate according to IEEE standards, 3GPP standards, or other standards and that can be used to receive and transmit data over external / network ports connected to the network 106. In some embodiments, the network 106 can comprise a private network or local area network (LAN) using Gigabit Ethernet. Additionally or alternatively, the network 106 can comprise a public network, such as the Internet.In some embodiments, the network 106 may include routers, wireless switches, or other such wireless connection points that communicate with the computing device 102 (via the network interface 112) and the imaging device 104 (via the network interface 122) via wireless communication based on one or more of different wireless standards, including, by a non-limiting example, IEEE 802.11a / b / c / g (WIFI), the BLUETOOTH® standard, or the like.

[0033] The I / O interfaces 114 and 124 can include or implement operator interfaces configured to present information to an administrator or operator and / or receive input from the administrator or operator. An operator interface can provide a display screen (e.g., via the user computing device 102 and / or imaging device 104) that a user / operator can use to visualize any images, graphics, text, data, features, pixels, objects, surfaces, and / or other suitable visualizations or information. For example, the computing device 102 and / or imaging device 104 can include, implement, access, render, or otherwise present a graphical user interface (GUI) for displaying images, graphics, text, data, features, pixels, and / or other suitable visualizations or information on the display screen.In one embodiment, the computing device 102 and / or imaging device 104 can use the Zebra Aurora Imaging Library™ and / or the Zebra Aurora Design Assistant™. In another embodiment, the computing device 102 and / or imaging device 104 can use vision software that implements support for the GigE Vision standard, the GenlCam GenDC specification, and the GenlCam PFNC 3D pixel formats.

[0034] The I / O interfaces 114, 124 can also include I / O components (e.g., connectors, terminals, capacitive or resistive touch-sensitive input fields, buttons, knobs, lights, LEDs indicating one or more of a status of power, light source, or network speed, any number of keyboards, mice, USB drives, optical drives, displays, touchscreens, etc.) that can be directly or indirectly accessible via or attached to the computing device 102 and / or the imaging device 104. In one embodiment, the imaging device 104 can use connectors, including, but not limited to, M12-X 8-pin connectors for network interface and power input or M12-A 12-pin connectors for digital I / Os and alternative power input.In one embodiment, the imaging device 104 can use digital I / Os, including, but not limited to, isolated 24-volt (V) inputs or isolated 24-volt outputs (e.g., with a 5 kHz maximum). According to some embodiments, an administrator or user / operator can access the computing device 102 and / or imaging device 104 to create jobs, review images or other information, make changes, respond to and / or select inputs, and / or perform other functions.

[0035] The sensor(s) 128 can include any one or any suitable combination of sensors. For example, the sensor(s) 128 can include an inertial navigation system, including one or more accelerometers, gyroscopes, magnetometers, altimeters, or proximity sensors. In this way, the sensor(s) 128, in conjunction with one or more other components (e.g., the imaging assembly 126) of the imaging device 104, provide the determination of the position and orientation of the imaging device 104. Additionally, a proximity sensor (e.g., an object detection sensor, trigger, or mechanism) provides the automatic and efficient initiation and termination of imaging (e.g., a single-profile scan, a fixed-length scan (frame start), or a variable-length scan (frame active)) of an object.In one embodiment, the proximity sensor can be one or more of, or any suitable combination of, a quadrature encoder with A / B channels, an external input trigger, an internal object detection trigger, internal timers, counters and / or logic blocks, or an external software trigger.

[0036] As described above herein, in some embodiments the computing device 102 can perform the functionalities discussed 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.

[0037] Fig. Figures 2A-B are illustrations that depict an embodiment of a device 104 of the present disclosure. Fig. 2A and Fig. Figure 2B shows perspective views of an exemplary imaging device 104, which is part of the imaging system of Fig. 1 can be implemented according to the embodiments described herein. The imaging device 104 includes a housing 132, I / O ports 124a and 124b, a light source 132 (e.g., a laser), and image sensors 134a and 134b. The housing can be an aluminum enclosure with a fixed IP67 rating for harsh environments. The light source 132 and the image sensors 134a and 134b provide imaging scenes with profile rates that enable the reduction of imaging gaps, which generally occur at critical surface junctions due to optical occlusion.

[0038] As previously mentioned, the imaging device 104 can receive job files from a computing device (e.g., the user computing 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 are operational for setting the configuration of the imaging device 104 prior to capturing images of an object.

[0039] For example, the device configuration settings can include instructions for adjusting one or more settings (e.g., an exposure time) with respect to the image sensors 134a and 134b. As an example, suppose that at least part of the intended analysis, corresponding to a machine vision job, requires the imaging device 104 to modify the exposure of a captured image. To meet this requirement, the job file can include device configuration settings for increasing or decreasing an exposure time of the image sensors 134a and 134b based on a classification (e.g., overexposed or underexposed) of a captured image. The imaging device 104 can interpret these instructions (e.g., via one or more processors 118) and accordingly increase or decrease an exposure time of the image sensors 134a and 134b.Thus, the imaging device 104 can be configured to automatically adjust its own configuration to best meet a specific machine vision task.

[0040] The imaging device 104 may include one or more attachment point(s) or mounting point(s) (not shown) to enable a user to connect and / or removably attach the imaging device 104 to a mounting device (e.g. imaging tripod, camera mount, etc.), a structural surface (e.g. a storage wall, storage ceiling, scanner bed or table, structural support, etc.), other accessories (e.g. a robot arm) and / or any other suitable connecting devices, structures or surfaces.For example, the imaging device 104 can be optimally positioned on a mounting fixture in a distribution center, manufacturing plant, warehouse, and / or other facility to image and thereby monitor the quality / consistency of products, packaging, and / or other items as they pass through the field of view (FOV) of the imaging device 104. Furthermore, the mounting point(s) can allow a user 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 fixtures / brackets, and the like.In one embodiment, the imaging device 104 can accommodate one or more attachment point(s) or mounting point(s) for M4 threaded screws and can include through-hole guides that allow for the seamless installation and alignment of additional imaging devices 104.

[0041] Furthermore, the imaging device 104 can include several hardware components contained within the housing 132 that enable connection to a computer network (e.g., network 106). For example, the imaging device 104 can include a network interface (e.g., 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. The imaging device 104 can also include transceivers and / or other communication components as part of the network interface to communicate with other devices (e.g., the user computing device 102) via, for example, Power over Ethernet (PoE), Ethernet / IP, PROFINET, Modbus TCP, CC-Link, USB 3.0, RS-232, and / or any other suitable communication protocol or combination thereof.

[0042] Fig. Figure 3 is a representation showing an exemplary environment 150 for implementing the imaging device 104 of the Fig. 2A and Fig. 2B illustrates. In the vicinity of 300 Fig. 3. Imaging devices 104a and 104b (also collectively referred to as the imaging devices 104) are positioned over a scan surface 151. The imaging devices 104a and 104b are arranged and oriented such that the fields of view (FOVs) (not shown) of the imaging devices 104a and 104b include at least a portion of the scan surface 151. The scan surface 151 can be a table, a pedestal, a fixture for mounting an object or part, a conveyor, a receiving hole, or any other support or surface capable of holding a part or object to be scanned. As illustrated, the scan area 151 is a conveyor belt with a multitude of objects 152 (e.g. objects 152a and 152b) on it, wherein object 152a is located within a FOV of the imaging device 104a and object 152b is located within the FOV of the imaging device 104b.While the object 152a passes within the FOV of the imaging device 104a, the imaging device 104a projects laser light 154a onto the object 152a, while the imager(s) 134 (as in . Fig. 2A and Fig. (as shown in Figure 2B) the imaging device 104a acquires one or more images of the object 152a. Additionally, while the object 152b is within the field of view of the imaging device 104b, the imaging device 104b projects laser light 154b onto the object 152b, while the image transmitter 134 (as shown in Figure 2B) Fig. 2A and Fig. 2B shown) the imaging device 104b captures one or more images of the object 152b.

[0043] As mentioned above, the imaging devices 104 can each be a 3D profile sensor or a 3D profiler. For example, the imaging devices 104 can be a Zebra® Altiz 3D profile sensor. The imaging devices 104 can perform a machine vision task, including, but not limited to, 3D profiling to generate a 3D representation (e.g., a point cloud) of an object. In 3D profiling, one or more imagers or image sensors view a line of light (e.g., laser light) projected onto an object, with the light bending to follow a contour of the object to produce a profile that can be used to calculate a depth or height along a width (e.g., thickness) of the light line.The imaging devices 104a and 104b can each determine one or more profiles of the objects 152a and 152b and combine the respective one or more profiles to generate a point cloud of the objects 152a and 152b. Additionally, in one embodiment, the imaging devices 104a and 104b and the associated system can identify a surface of the object 152a and / or 152b from 3D information from a 3D image or a 3D point cloud. The imaging devices 104a and 104b and associated processors and systems can then compare the identified surface of the object 152a and / or 152b with a model surface to perform a surface matching.

[0044] The imaging devices 104a and 104b can be mounted above the objects 152 on a ceiling, a beam, a metal tripod, or another object to support the position of the imaging devices 104a and 104b for capturing images of the objects 152 on the scan surface 151. Alternatively, the imaging devices 104a and 104b can be mounted on a wall or other support facing the objects 152 on the scan surface 151 from a horizontal direction. In examples, the imaging device 104 can be mounted on any device or surface for imaging and scanning objects 152 that are within or pass through the field of view (FOV) of the imaging device 104.

[0045] As mentioned above, the embodiments of the present disclosure can provide more robust machine vision applications, including, but not limited to, real-time 3D measurement and / or reconstruction of an object. By automatically and dynamically modifying the exposure time of an image sensor (or sensors) 134 of an imaging device 104 by decreasing or increasing the exposure time of the image sensor (or sensors) 134 based on a classification (e.g., overexposed or underexposed) of an image, the described systems and methods improve the efficiency and accuracy of the 3D measurement and / or reconstruction process of an object 152.The disclosed embodiments can further provide advantages to reduce human analysis and input during automated processes, increase surface matching efficiency, increase object identification efficiency and accuracy, and increase the versatility, machine vision process efficiency, and robustness of a machine vision system.

[0046] Fig. Figure 4 is a flowchart illustrating processing steps performed by an embodiment of the present disclosure. The processing steps are described in connection with their execution in the system (e.g., by the imaging device 104 or the computing device 102 in conjunction with the imaging device 104). In general, by performing the processing steps, the system can automatically and dynamically modify the exposure time of an imaging device 104 by either decreasing or increasing the exposure time of the imaging device 104 based on a classification (e.g., overexposed or underexposed) of an image. For example, the system can receive a first image of an object, wherein the first image is acquired by at least one image sensor using a first exposure time,and wherein the first image has a first region and a second region; determining an average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image; determining whether the average number of first-class pixels per column of pixels is within a predetermined range; in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modifying the first exposure time of the at least one image transmitter by decreasing the first exposure time of the at least one image transmitter or increasing the first exposure time of the at least one image transmitter based on a classification of the first image,where the first area is a line indicating light present in the first image, the second area indicates a background of the first image, and the first class of pixels indicates pixels that meet a brightness threshold present in the first image.

[0047] Starting at step 302, the system acquires a first image of an object 152 via an imaging assembly 126 of a device 104, wherein the imaging assembly 126 comprises a light source 132 and at least one image sensor 134 with a first exposure time during the acquisition of the first image. The imaging assembly 126 can be configured to acquire an image using the at least one image sensor 134 based on different scan types (e.g., a single-profile scan, a fixed-length scan (frame start), a variable-length scan (frame active), or the like). The device 104 can be a 3D profile sensor or a 3D profiler. The light source 132 can be a laser, wherein the laser provides red light with a wavelength of 660 nanometers (nm), blue light with a wavelength of 405 nm, or any suitable color of light and wavelength. The imaging assembly can emit light (e.g.,Laser light is projected onto the object 152 via the light source 132 during the acquisition of the first image. The first image can have a first region and a second region, where the first region is a line indicating light present in the first image, and the second region indicates the background of the first image. For example, the first image can be a laser profile image, where the first region is a line indicating laser light present in the first image, and the second region indicates the background of the first image. In one embodiment, a user can define a region of interest (ROI) of the first region. As described in more detail below, the first region can include different classes of pixels (e.g., a first class, a second class, a third class, and so on) that satisfy different brightness thresholds present in the first image.

[0048] Fig. Figure 5 is a representation illustrating an exemplary image 350 produced by the device 104 of the Fig. 2A-B is recorded. As in Fig. As shown in Figure 5, image 350 has a first area 352 and second areas 354. The first area 352 is a line indicating light present in the first image, and the second area shows a background of the first image, where the background is dark and almost featureless.

[0049] With renewed reference to Fig. In step 304, the system determines an average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image. The first class of pixels represents pixels that meet a brightness threshold present in the first image. The average number of first-class pixels per column of pixels is a floating-point or fixed-point value. Columns where the first class is missing (e.g., the line) (e.g., due to occlusion) can be disregarded. In a properly exposed image, the average number of first-class pixels per column of pixels should fall within a predetermined range.The predetermined range indicates a target range of the average number of first-class pixels per column of pixels that encompasses the initial range (e.g., a line thickness). In step 306, the system determines whether the average number of first-class pixels per column of pixels is within the predetermined range. The predetermined range can be set by the system or the user and can include any suitable range (e.g., 2.5–4.0 pixels) that displays a correspondingly exposed image. As described in more detail below, if the average number of first-class pixels per column of pixels is not within the predetermined range, the system modifies the initial exposure time of the image source(s) 134.

[0050] Fig. Figure 6A is a representation illustrating an exemplary image 370 produced by the device 104 of the Fig. 2A-B is recorded, and Fig. 6B is a representation that includes diagram 380 of the exemplary image 370 of the Fig. 6A illustrates this. As in Fig. As shown in Figure 6A, image 370 has a first region 372 and second regions 374. The first region 372 is a line indicating light present in image 370, and the second region shows a background of image 370, where the background is nearly featureless. A column 376 comprises classes of pixels (e.g., a first class, a second class, a third class, and so on) that satisfy different brightness thresholds (e.g., a first threshold, a second threshold, a third threshold, and so on) present in image 370 across the first region 372 and the second regions 374. Diagram 380 illustrates the distribution of these classes of pixels. For example, bar 382 indicates a number of a first class of pixels (e.g. red pixels) that meet a first brightness threshold and are present in column 376 of image 370 over the first area 372.In another example, bar 384 indicates the number of a second class of pixels (e.g., orange pixels) that meet a second brightness threshold and are present in column 376 of image 370 across the first range 372. In another example, bar 386 indicates the number of a third class of pixels (e.g., yellow pixels) that meet a third brightness threshold and are present in column 376 of image 370 across the first range 372. In yet another example, bar 388 indicates the number of a fourth class of pixels (e.g., green pixels) that meet a fourth brightness threshold and are present in column 376 of image 370 across the first range 372. Finally, bar 390 indicates the number of pixels (e.g., blue pixels) that are present in column 376 of image 370 across the second ranges 374. As in . Fig. As shown in Figure 6B, based on the distribution of the classes of pixels (e.g. a bell curve which includes a peak of a first class of pixels above bar 382) the image 380 is appropriately exposed.

[0051] With renewed reference to Fig. 4. The process proceeds to step 310 if the system determines that the average number of first-class pixels per column of pixels is within the predetermined range. In step 310, the system determines whether to acquire additional images using the first exposure of image source(s) 134. If the system determines to acquire additional images using the first exposure of image source(s) 134, the process returns to step 302 to acquire another image of object 152.

[0052] Alternatively, the process proceeds to step 308 if the system determines that the average number of first-class pixels per column of pixels is not within the predetermined range. In step 308, the system modifies the first exposure time of image generator(s) 134 by either decreasing or increasing the first exposure time of image generator(s) 134 based on a classification (e.g., overexposed or underexposed) of the first image. Step 308 is described below with respect to the Fig. 7A and Fig. 7B is described in more detail. The process then proceeds to step 310. In step 310, the system, via the imaging assembly 126 of the device 104, acquires a second image of the object 152 based on the modified first exposure time of the image sensor(s) 134. The second image may have a third region and a fourth region, wherein the third region is a line indicating light present in the second image, and the fourth region indicates a background of the second image. For example, the second image may be a laser profile image, wherein the third region is a line indicating laser light present in the second image, and the fourth region indicates a background of the second image. In one embodiment, a user may define a region of interest (ROI) of the third region. The third region may contain different classes of pixels (e.g.,a first class, a second class, a third class and so on) that meet different brightness thresholds present in the second image.

[0053] It is understood that after each case of step 306, the system can save an image profile and, in the case of a negative determination in step 310, combine the saved one or more image profiles to generate a point cloud of object 152.

[0054] Fig. 7A is a flowchart showing an exemplary embodiment of step 308 of the Fig. 4 illustrated in more detail. For example, Fig. Figure 7A is a flowchart illustrating processing steps associated with modifying the first exposure time of the image sensor(s) 134 by either decreasing or increasing the first exposure time of the image sensor 134 based on a classification (e.g., overexposed or underexposed) of the first image. Starting in step 400, the system determines whether the average number of first-class pixels per column of pixels exceeds the predetermined range. If the system determines that the average number of first-class pixels per column of pixels exceeds the predetermined range, the process proceeds to step 402. In step 402, the system classifies the first image as overexposed. Then, in step 404, the system decreases the first exposure of the image sensor 134. Step 404 is described below in relation to Fig. 8 and Fig. 9A-B is described in more detail. Alternatively, the process proceeds to step 406 if the system determines that the average number of first-class pixels per column of pixels does not exceed the predetermined range. In step 406, the system determines that the average number of first-class pixels per column of pixels is below the predetermined range. In step 408, the system classifies the first image as underexposed (e.g., containing no or a sufficient number of bright pixels per column). Then, in step 410, the system increases the first exposure of the image transmitter(s) 134. Step 410 is described below in relation to the Fig. 10 and Fig. 11A-B described in more detail.

[0055] Fig. 7B is a flowchart showing another exemplary embodiment of step 308 of the Fig. 4 illustrated in more detail. For example, Fig. Figure 7B is a flowchart illustrating processing steps associated with modifying the first exposure time of imager(s) 134 by either decreasing or increasing the first exposure time of imager(s) 134 based on a classification (e.g., overexposed or underexposed) of the first image. Starting in step 420, the system determines whether the average number of first-class pixels per column is below the predetermined range. If the system determines that the average number of first-class pixels per column is below the predetermined range, the process proceeds to step 422. In step 422, the system classifies the first image as underexposed. Then, in step 424, the system increases the first exposure time of imager(s) 134. Step 424 is described below in relation to the Fig. 10 and Fig. 11A-B is described in more detail. Alternatively, the process proceeds to step 426 if the system determines that the average number of first-class pixels per column is not below the predetermined range. In step 426, the system determines that the average number of first-class pixels per column exceeds the predetermined range. In step 428, the system classifies the first image as overexposed. Then, in step 430, the system reduces the first exposure time of the image transmitter(s) 134. Step 430 is described below in relation to Fig. 8 and Fig. 9A-B described in more detail.

[0056] Fig. 8 is a flowchart representing step 404 of the Fig. 7A and step 430 of the Fig. 7B illustrates this in more detail. For example, Fig. Figure 8 is a flowchart illustrating processing steps associated with decreasing the first exposure time of the image generator(s) 134. In step 440, the system determines a second exposure time of the image generator(s) 134 to produce a second image with an average number of first-class pixels per column of pixels within the predetermined area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the image generator(s) 134. The second exposure time of the image generator(s) 134 represents the first exposure time of the image generator(s) 134 modified by an adjustment factor of Exp(t) / Exp(m). Exp(t) represents an exposure time for an average number of first-class pixels per column in the center of the predetermined area based on a brightness of the light source (e.g.,a laser) and Exp(m) indicates the first exposure time of the average number of first-class pixels per column of pixels of the first area based on the same brightness of the light source (e.g., a laser). Then, in step 442, the system reduces the first exposure time of the image sensor(s) 134 based on the second exposure time of the image sensor(s) 134, so that it lies within the predetermined range.

[0057] Fig. Figure 9A is a representation illustrating an exemplary image 450 produced by the device 104 of the Fig. 2A-B is recorded, and Fig. 9B is a representation that includes diagram 470 of the exemplary image 450 of the Fig. 9A illustrates. As in Fig. As shown in Figure 9A, image 450 has a first region 452 and second regions 454. The first region 452 is a line indicating light present in image 450, and the second region shows a background of image 450, where the background is nearly featureless. A column 456 comprises classes of pixels (e.g., a first class, a second class, a third class, and so on) that satisfy different brightness thresholds (e.g., a first threshold, a second threshold, a third threshold, and so on) present in image 450 across the first region 452 and the second regions 454. Diagram 470 illustrates the distribution of these classes of pixels. For example, bar 472 indicates a number of a first class of pixels (e.g., red pixels) that meet a first brightness threshold and are present in column 456 of image 450 across the first area 452.In another example, bar 474 indicates the number of pixels of a second class (e.g., orange pixels) that meet a second brightness threshold and are present in column 456 of image 450 across the first range 452. In another example, bar 476 indicates the number of pixels of a third class (e.g., yellow pixels) that meet a third brightness threshold and are present in column 456 of image 450 across the first range 452. In yet another example, bar 478 indicates the number of pixels of a fourth class (e.g., green pixels) that meet a fourth brightness threshold and are present in column 456 of image 450 across the first range 452. Finally, bar 480 indicates the number of pixels (e.g., blue pixels) that are present in column 456 of image 450 across the second ranges 454. As in . Fig. As shown in 9B, based on the distribution of classes of pixels, which includes a flat top of a first class of pixels across bar 472, image 380 is overexposed.

[0058] Fig. 10 is a flowchart that represents step 410 of the Fig. 7A and step 424 of the Fig. 7B illustrates this in more detail. For example, Fig. 10 a flowchart illustrating processing steps associated with increasing the first exposure time of the image sensor(s) 134.

[0059] In step 500, the system determines whether the average number of first-class pixels per column of pixels exceeds a minimum threshold. If the system determines that the average number of first-class pixels per column of pixels exceeds the minimum threshold, the process proceeds to step 502. In step 502, the system determines a second exposure time for image generator(s) 134 to produce a second image with an average number of first-class pixels per column of pixels within the predetermined range, based on the average number of first-class pixels per column of pixels from the first range and the first exposure time of image generator(s) 134. Then, in step 504, the system increases the first exposure time of image generator(s) 134 based on the second exposure time of image generator(s) 134, so that it remains within the predetermined range.Alternatively, the process proceeds to step 506 if the system determines that the average number of first-class pixels per column of pixels does not exceed the minimum threshold. In step 506, the system determines an average number of second-class pixels (e.g., orange pixels) per column of pixels present in the first image, based on the number of second-class pixels present in the first image and the number of columns of pixels in the first image. Then, in step 508, the system determines an average of third-class pixels (e.g., yellow pixels) per column of pixels present in the first image, based on the number of third-class pixels present in the first image and the number of columns of pixels in the first image.In step 510, the system increases the first exposure time of the image transmitter(s) 134 by a predetermined factor based on a highest class of pixels among the second and third classes of pixels that have a minimum average number of pixels per column.

[0060] Fig. Figure 11A is a representation illustrating an exemplary image 550 produced by the device 104 of the Fig. 2A-B is recorded, and Fig. 11B is a representation that includes diagram 570 of the exemplary image 550 of the Fig. 11A illustrates this. As in Fig. As shown in Figure 11A, image 550 has a first region 552 and second regions 554. The first region 552 is a line indicating light present in image 550, and the second region shows a background of image 550, where the background is nearly featureless. A column 556 comprises classes of pixels (e.g., a first class, a second class, a third class, and so on) that satisfy different brightness thresholds (e.g., a first threshold, a second threshold, a third threshold, and so on) present in image 550 across the first region 552 and the second regions 554. Diagram 570 illustrates the distribution of these classes of pixels. For example, bar 572 indicates a number of a second class of pixels (e.g., orange pixels) that meet a second brightness threshold and are present in column 556 of image 550 across the first range 552.In another example, bar 574 indicates the number of pixels of a third class (e.g., yellow pixels) that meet a third brightness threshold and are present in column 556 of image 550 across the first range 552. In yet another example, bar 576 indicates the number of pixels of a fourth class (e.g., green pixels) that meet a fourth brightness threshold and are present in column 556 of image 550 across the first range 552. Finally, bar 578 indicates the number of pixels (e.g., blue pixels) that are present in column 556 of image 550 across the second ranges 554. As in . Fig. As shown in 11B, based on the distribution of pixel classes and the omission of a first class of pixels, image 570 is underexposed.

[0061] Specific embodiments have been described in the foregoing specification. However, a person skilled in the art will recognize that various modifications and changes can be made without departing from the scope of the invention, as set forth in the following claims. Accordingly, the specification and the figures are to be regarded in an illustrative rather than a limiting sense, and all such modifications are to be included within the scope of the present teachings.

[0062] The benefits, advantages, problem solutions, and any element(s) that may lead to or enhance a benefit, advantage, or solution shall not be construed as critical, necessary, or essential features or elements of any claim or all claims. The invention is defined exclusively by the attached claims, including all amendments made during the pendency of this application, and all equivalents of these claims as granted.

[0063] Furthermore, in this document, relational terms such as first and second, top and bottom, and the like may be used solely to distinguish one entity or action from another, without necessarily requiring or implying any actual relationship or order of such entities or actions. The terms "includes," "comprising," "has," "exhibiting," "includes," "containing," "including," "containing," or any other variation thereof are intended to cover non-exclusive inclusion, such that a process, procedure, article, or device that includes, has, includes, or contains a list of elements may not only include those elements but may also include other elements not expressly listed or inherent in such process, procedure, article, or device. An element that "includes... a," "has..."The phrases "a," "includes...a," and "contains...a" preceding a statement do not, without further limitations, exclude the existence of additional identical elements in the process, method, article, or apparatus that includes, has, incorporates, 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 a manner that would be closely understood by a person skilled in the art, and in one non-restrictive embodiment, the term is defined as being within 10%, in another embodiment within 5%, in another embodiment within 1%, and in yet another embodiment within 0.5%.The term "coupled," as used herein, is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is "configured" in a particular way is configured at least in that way, but may also be configured in ways not listed.

[0064] Certain expressions may be used herein to list combinations of elements. Examples of such expressions include: "at least one of A, B, and C"; "one or more of A, B, and C"; "at least one of A, B, or C"; "one or more of A, B, or C". Unless expressly stated otherwise, the above expressions include any combination of A and / or B and / or C.

[0065] It is understood that some embodiments may consist of one or more specialized processors (or “processing devices”) such as microprocessors, digital signal processors, custom processors and field-programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement, in conjunction with certain non-processor circuitry, some, most or all of the functions of the method and / or device described herein.Alternatively, some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application-specific integrated circuits (ASICs) where each function, or some combinations of certain functions, are implemented as custom logic. Of course, a combination of the two approaches could be used.

[0066] Furthermore, an embodiment can be implemented as a computer-readable storage medium with computer-readable code stored thereon for programming a computer (e.g., comprising a processor) to perform a method described and claimed herein. Examples of such computer-readable storage media include, but are not limited to, a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a ROM (read-only memory), a PROM (programmable read-only memory), an EPROM (erasable programmable read-only memory), an EEPROM (electrically erasable programmable read-only memory), and flash memory.Furthermore, it is expected that an average professional, regardless of possible considerable effort and many design decisions motivated, for example, by available time, current technology and economic considerations, guided by the concepts and principles disclosed herein, will be readily able to produce such software instructions and programs and ICs with minimal experimentation.

[0067] The summary of disclosure is provided to enable the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it is not intended to interpret or limit the scope or meaning of the claims. Furthermore, it is evident from the preceding detailed description that various features in different embodiments have been summarized for the purpose of simplifying the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly stated in each claim. Rather, as reflected in the following claims, the inventive step lies in fewer than all the features of any single disclosed embodiment.Therefore, the following claims are hereby included in the detailed description, each claim being a separate subject matter claimed on its own.

[0068] The following examples also form part of the present revelation: 1. Procedure, comprehensive: Capturing, via an imaging assembly of a device, a first image of an object, wherein the imaging assembly has a light source and at least one image sensor with a first exposure time during the capture of the first image, and wherein the first image has a first area and a second area; Determine an average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image; Determine whether the average number of first-class pixels per column of pixels lies within a predetermined range; in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modifying the first exposure time of the at least one image sensor by either decreasing the first exposure time of the at least one image sensor or increasing the first exposure time of the at least one image sensor based on a classification of the first image, wherein the first area is a line indicating light present in the first image, the second area indicates a background of the first image, and The first class of pixels displays pixels that meet a brightness threshold present in the first image. 2. Method according to Example 1, further comprising projecting, through the imaging assembly, of light onto the object during the acquisition of the first image. 3. A method according to one of Examples 1 or 2, further comprising capturing, via the imaging assembly of the device, a second image of the object based on a modified first exposure time of the at least one image sensor, wherein the second image has a third area and a fourth area, wherein the third area is a line indicating light that is present in the second image, and The fourth area displays a background of the second image. 4. Method according to one of examples 1 to 3, wherein the device is a three-dimensional profiler; the light source is a laser, and the light present in the first image is laser light; and The first image is a laser profile image. 5. Method according to one of examples 1 to 4, wherein the average number of first-class pixels per column of pixels of a floating-point or fixed-point value; and The predetermined area displays a target area of ​​the average number of first-class pixels per column of pixels, encompassing a line thickness. 6. Method according to one of Examples 1 to 5, comprising modifying the first exposure time of the at least one image sensor: Determine whether the average number of first-class pixels per column of pixels exceeds the predetermined range; in response to the finding that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of the at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the predetermined range, Determine that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor. 7. Method according to any of Examples 1 to 6, comprising modifying the first exposure time of the at least one image sensor: Determine whether the average number of first-class pixels per column of pixels is below the predetermined range; in response to determining that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels is not below the predetermined range, Determine that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of at least one image sensor. 8. Method according to any of Examples 1 to 7, comprising reducing the first exposure time of the at least one image sensor: Determining a second exposure time of the image sensor to produce a second image with an average number of first-class pixels per column of pixels within the predetermined area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor; and Reducing the first exposure time of the at least one image sensor based on the second exposure time of the at least one image sensor, so that it lies within the predetermined range. 9. Method according to Example 8, wherein the second exposure time of the at least one image sensor indicates the first exposure time of the at least one image sensor modified by an adjustment factor of Exp(t) / Exp(m), where Exp(t) indicates an exposure time for an average number of first-class pixels per column in the center of the predetermined area based on a brightness of the laser, and Exp(m) indicates the first exposure time of the average number of first-class pixels per column of pixels of the first area based on the same brightness of the laser. 10. Method according to one of Examples 1 to 9, comprising increasing the first exposure time of the at least one image sensor: Determine whether the average number of first-class pixels per column of pixels exceeds a minimum threshold; in response to the finding that the average number of first-class pixels exceeds the minimum threshold, Determining a second exposure time of the at least one image sensor to generate a second target area with a different average number of first-class pixels per column of pixels of the first area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor, and Increasing the first exposure time of the at least one image sensor based on the second exposure time of the image sensor, such that it lies within the second target area of ​​the other average number of first-class pixels per column of pixels of the first area; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the minimum threshold, Determining an average number of a second class of pixels per column of pixels present in the first image, based on the number of second class pixels present in the first image and the number of columns of pixels in the first image, Determine an average number of third-class pixels per column of pixels present in the first image, based on the number of third-class pixels present in the first image and the number of columns of pixels in the first image, and Increasing the first exposure time of the image sensor by a predetermined factor based on a highest class of pixels among the second and third classes of pixels that have a minimum average number of pixels per column. 11. Device comprising: an imaging assembly comprising a light source and at least one image sensor; one or more processors; and a non-transient, computer-readable memory coupled to one or more processors, wherein the memory stores instructions which, when executed by the one or more processors, cause the one or more processors to: Receiving a first image of an object, wherein the first image is captured by the at least one image transmitter using a first exposure time, and wherein the first image has a first area and a second area; Determine an average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image; Determine whether the average number of first-class pixels per column of pixels lies within a predetermined range; in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modifying the first exposure time of the at least one image sensor by either decreasing the first exposure time of the at least one image sensor or increasing the first exposure time of the at least one image sensor based on a classification of the first image, wherein the first area is a line indicating light present in the first image, the second area indicates a background of the first image, and The first class of pixels displays pixels that meet a brightness threshold present in the first image. 12. Device according to Example 11, wherein the instructions, when carried out, further cause the one or more processors to project light onto the object through the imaging assembly during the acquisition of the first image. 13. Device according to one of Examples 11 to 12, wherein the instructions, when carried out, further cause the one or more processors to receive a second image having a third area and a fourth area, wherein the second image is captured by the at least one image sensor using a modified first exposure time of the at least one image sensor, wherein the third area is a line indicating laser light that is present in the second image, and The fourth area displays a background of the second image. 14. Device according to one of Examples 11 to 13, wherein the device is a three-dimensional profiler; the light source is a laser, and the light present in the first image is laser light; and The first image is a laser profile image. 15. Device according to one of Examples 11 to 14, wherein the average number of first-class pixels per column of pixels of a floating-point or fixed-point value; and The predetermined area displays a target area of ​​the average number of first-class pixels per column of pixels, encompassing a line thickness. 16. Device according to one of Examples 11 to 15, wherein the instructions, when executed, cause the one or more processors to modify the first exposure time of the at least one image sensor by: Determine whether the average number of first-class pixels per column of pixels exceeds the predetermined range; in response to the finding that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of the at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the predetermined range, Determine that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor. 17. Device according to one of Examples 11 to 16, wherein the instructions, when executed, cause the one or more processors to modify the first exposure time of the at least one image sensor by: Determine whether the average number of first-class pixels per column of pixels is below the predetermined range; in response to determining that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels is not below the predetermined range, Determine that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of at least one image sensor. 18. Device according to one of Examples 11 to 17, wherein the instructions, when carried out, further cause the one or more processors to reduce the first exposure time of the at least one image sensor by: Determining a second exposure time of the at least one image sensor to produce a second image with an average number of first-class pixels per column within the predetermined area based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor; and Reducing the first exposure time of the at least one image sensor based on the second exposure time of the at least one image sensor, so that it lies within the predetermined range. 19. Device according to Example 18, wherein the second exposure time of the at least one image sensor indicates the first exposure time of the at least one image sensor modified by an adjustment factor of Exp(t) / Exp(m), wherein Exp(t) indicates an exposure time for an average number of first-class pixels per column in the center of the predetermined area based on a brightness of the laser, and Exp(m) indicates the first exposure time of the average number of first-class pixels per column of pixels of the first area based on the same brightness of the laser. 20. Device according to one of Examples 11 to 19, wherein the instructions, when carried out, further cause the one or more processors to increase the first exposure time of the at least one image sensor by: Determine whether the average number of first-class pixels per column of pixels exceeds a minimum threshold; in response to the finding that the average number of first-class pixels exceeds the minimum threshold, Determining a second exposure time of the at least one image sensor to generate a second target area with a different average number of first-class pixels per column of pixels of the first area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor, and Increasing the first exposure time of the at least one image sensor based on the second exposure time of the at least one image sensor, such that it lies within the second target range of the other average number of first-class pixels per column of pixels of the first range; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the minimum threshold, Determining an average number of a second class of pixels per column of pixels present in the first image, based on the number of second class pixels present in the first image and the number of columns of pixels in the first image, Determine an average number of third-class pixels per column of pixels present in the first image, based on the number of third-class pixels present in the first image and the number of columns of pixels in the first image, and Increasing the first exposure time of at least one image sensor by a predetermined factor based on a highest class of pixels among the second and third classes of pixels that have a minimum average number of pixels per column. 21. Non-transient computer-readable medium that stores instructions which, when executed by one or more processors, cause the one or more processors to: Received, via an imaging assembly of a device, a first image of an object, wherein the imaging assembly has a light source and at least one image sensor with a first exposure time during the acquisition of the first image, and wherein the first image has a first area and a second area; Determine an average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image; Determine whether the average number of first-class pixels per column of pixels lies within a predetermined range; in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modifying the first exposure time of the at least one image sensor by either decreasing the first exposure time of the at least one image sensor or increasing the first exposure time of the at least one image sensor based on a classification of the first image, wherein the first area is a line indicating light that is present in the first image, the second area displays a background of the first image, and The first class of pixels displays pixels that meet a brightness threshold present in the first image. 22. Non-transient computer-readable medium according to Example 21, wherein the instructions, upon execution, further cause one or more processors to project light onto the object through the imaging assembly during the acquisition of the first image. 23. Non-transient computer-readable medium according to any one of Examples 21 to 22, wherein, upon execution, the instructions further cause the one or more processors to receive a second image having a third area and a fourth area, wherein the second image is captured by the at least one image sensor using a modified first exposure time of the at least one image sensor, wherein the third area is a line indicating laser light that is present in the second image, and The fourth area displays a background of the second image. 24. Non-transient computer-readable medium according to one of Examples 21 to 23, wherein the device is a three-dimensional profiler; the light source is a laser, and the light present in the first image is laser light; and The first image is a laser profile image. 25. Non-transient computer-readable medium according to one of Examples 21 to 24, wherein the average number of first-class pixels per column of pixels of a floating-point or fixed-point value; and The predetermined area displays a target area of ​​the average number of first-class pixels per column of pixels, encompassing a line thickness. 26. Non-transient computer-readable medium according to any of Examples 21 to 25, wherein the instructions, upon execution, further cause the one or more processors to modify the first exposure time of the at least one image sensor by: Determine whether the average number of first-class pixels per column of pixels exceeds the predetermined range; in response to the finding that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of the at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the predetermined range, Determine that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor. 27. Non-transient computer-readable medium according to any of Examples 21 to 26, wherein the instructions, upon execution, further cause the one or more processors to modify the first exposure time of the at least one image sensor by: Determine whether the average number of first-class pixels per column of pixels is below the predetermined range; in response to determining that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels is not below the predetermined range, Determine that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of at least one image sensor. 28. Non-transient computer-readable medium according to any of Examples 21 to 27, wherein the instructions, upon execution, further cause the one or more processors to reduce the first exposure time of the at least one image sensor by: Determining a second exposure time of the at least one image sensor to produce a second image with an average number of first-class pixels per column of pixels within the predetermined area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor; and Reducing the first exposure time of the at least one image sensor based on the second exposure time of the at least one image sensor, so that it lies within the predetermined range. 29. Non-transient computer-readable medium according to Example 28, wherein the second exposure time of the at least one image sensor indicates the first exposure time of the at least one image sensor modified by an adjustment factor of Exp(t) / Exp(m), where Exp(t) indicates an exposure time for an average number of first-class pixels per column in the center of the predetermined area based on a brightness of the laser, and Exp(m) indicates the first exposure time of the average number of first-class pixels per column of pixels of the first area based on the same brightness of the laser. 30. Non-transient computer-readable medium according to any of Examples 21 to 29, wherein the instructions, upon execution, further cause the one or more processors to increase the first exposure time of the at least one image sensor by: Determine whether the average number of first-class pixels per column of pixels exceeds a minimum threshold; in response to the finding that the average number of first-class pixels exceeds the minimum threshold, Determining a second exposure time of the at least one image sensor to generate a second target area with a different average number of first-class pixels per column of pixels of the first area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor, and Increasing the first exposure time of the at least one image sensor based on the second exposure time of the at least one image sensor, such that it lies within the second target range of the other average number of first-class pixels per column of pixels of the first range; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the minimum threshold, Determining an average number of a second class of pixels per column of pixels present in the first image, based on the number of second class pixels present in the first image and the number of columns of pixels in the first image, Determine an average number of third-class pixels per column of pixels present in the first image, based on the number of third-class pixels present in the first image and the number of columns of pixels in the first image, and Increasing the first exposure time of at least one image sensor by a predetermined factor based on a highest class of pixels among the second and third classes of pixels that have a minimum average number of pixels per column.

Claims

[1] Procedure, encompassing: Capturing, via an imaging assembly of a device, a first image of an object, wherein the imaging assembly has a light source and at least one image sensor with a first exposure time during the capture of the first image, and wherein the first image has a first area and a second area; Determine an average number of first-class pixels per column of pixels present in the first image, based on the number of first-class pixels present in the first image and the number of columns of pixels in the first image; Determine whether the average number of first-class pixels per column of pixels lies within a predetermined range; in response to determining that the average number of first-class pixels per column of pixels is not within the predetermined range, modifying the first exposure time of the at least one image sensor by either decreasing the first exposure time of the at least one image sensor or increasing the first exposure time of the at least one image sensor based on a classification of the first image, wherein the first area is a line indicating light that is present in the first image, the second area displays a background of the first image, and The first class of pixels displays pixels that meet a brightness threshold present in the first image. [2] Method according to claim 1, further comprising projecting, through the imaging assembly, light onto the object during the acquisition of the first image. [3] Method according to claim 1, further comprising capturing, via the imaging assembly of the device, a second image of the object based on a modified first exposure time of the at least one image sensor, wherein the second image has a third area and a fourth area, wherein the third area is a line indicating light that is present in the second image, and The fourth area displays a background of the second image. [4] Method according to claim 1, wherein the device is a three-dimensional profiler; the light source is a laser, and the light present in the first image is laser light; and The first image is a laser profile image. [5] Method according to claim 1, wherein the average number of first-class pixels per column of pixels of a floating-point or fixed-point value; and The predetermined area displays a target area of ​​the average number of first-class pixels per column of pixels, encompassing a line thickness. [6] The method of claim 1, wherein the modification of the first exposure time of the at least one image sensor comprises: Determine whether the average number of first-class pixels per column of pixels exceeds the predetermined range; in response to the finding that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of the at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the predetermined range, Determine that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor. [7] Method according to claim 1, wherein the modification of the first exposure time of the at least one image sensor comprises: Determine whether the average number of first-class pixels per column of pixels is below the predetermined range; in response to determining that the average number of first-class pixels per column of pixels is below the predetermined range, Classifying the first image as underexposed, and Increasing the first exposure time of at least one image sensor; and in response to determining that the average number of first-class pixels per column of pixels is not below the predetermined range, Determine that the average number of first-class pixels per column of pixels exceeds the predetermined range, Classifying the first image as overexposed, and Reducing the first exposure time of at least one image sensor. [8] Method according to claim 1, wherein reducing the first exposure time of the at least one image sensor comprises: Determining a second exposure time of the image sensor to produce a second image with an average number of first-class pixels per column of pixels within the predetermined area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor; and Reducing the first exposure time of the at least one image sensor based on the second exposure time of the at least one image sensor, so that it lies within the predetermined range. [9] Method according to claim 8, wherein the second exposure time of the at least one image sensor indicates the first exposure time of the at least one image sensor modified by an adjustment factor of Exp(t) / Exp(m), wherein Exp(t) indicates an exposure time for an average number of a first class of pixels per column in a center of the predetermined area based on a brightness of the laser and Exp(m) indicates the first exposure time of the average number of first class of pixels per column of pixels of the first area based on the same brightness of the laser. [10] Method according to claim 1, wherein increasing the first exposure time of the at least one image sensor comprises: Determine whether the average number of first-class pixels per column of pixels exceeds a minimum threshold; in response to the finding that the average number of first-class pixels exceeds the minimum threshold, Determining a second exposure time of the at least one image sensor to generate a second target area with a different average number of first-class pixels per column of pixels of the first area, based on the average number of first-class pixels per column of pixels of the first area and the first exposure time of the at least one image sensor, and Increasing the first exposure time of the at least one image sensor based on the second exposure time of the image sensor, such that it lies within the second target area of ​​the other average number of first-class pixels per column of pixels of the first area; and in response to determining that the average number of first-class pixels per column of pixels does not exceed the minimum threshold, Determining an average number of a second class of pixels per column of pixels present in the first image, based on the number of second class pixels present in the first image and the number of columns of pixels in the first image, Determine an average number of third-class pixels per column of pixels present in the first image, based on the number of third-class pixels present in the first image and the number of columns of pixels in the first image, and Increasing the first exposure time of the image sensor by a predetermined factor based on a highest class of pixels among the second and third classes of pixels that have a minimum average number of pixels per column.