Direct generation of grayscale images from color pixel data

The method of generating grayscale images using color image sensors solves the problems of low efficiency and poor accuracy of color image sensors in barcode decoding, achieving more efficient and accurate decoding results.

CN122113956APending Publication Date: 2026-05-29ZEBRA TECHNOLOGIES CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ZEBRA TECHNOLOGIES CORP
Filing Date
2025-11-28
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing color image sensors are inefficient and inaccurate in barcode decoding, and there is a need to improve grayscale image generation methods to enhance decoding efficiency and accuracy.

Method used

A grayscale image is generated by acquiring ambient color information using a color image sensor, determining the grayscale value of each color pixel using a processor, and generating a grayscale image. The method includes weighting and determining the grayscale value from the color information of the pixel's neighborhood.

Benefits of technology

Generating grayscale images directly from color image data reduces processing time and resource requirements, improving the efficiency and accuracy of barcode decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122113956A_ABST
    Figure CN122113956A_ABST
Patent Text Reader

Abstract

A method and system for performing grayscale image generation. The method includes acquiring, by a color image sensor, color information of an environment in a field of view of an imaging assembly. The color image sensor includes a plurality of color pixels, each color pixel configured to acquire corresponding color information of the environment. Each pixel in the array of pixels has a different detection spectrum than an adjacent neighboring pixel. A processor determines a grayscale value for each pixel in the plurality of color pixels, the grayscale value determined from the color information of a two-by-two array of pixels from the color image sensor. The processor then generates a grayscale image from the grayscale value of each pixel.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] Industrial scanners and / or barcode readers can be used in warehouse environments, point-of-sale systems, and / or other environments, and can be provided, for example, in the form of fixed, mountable, or mobile scanning devices. These scanners can be used to scan barcodes and other objects. Due to the widespread use and reduced cost of color imaging sensors, color cameras and sensors are more readily available and more commonly implemented in such scanners and barcode readers. In many use cases and scenarios, barcodes in color images are not efficiently decoded and must be converted to grayscale images before attempting decoding. Color images contain more information (e.g., color information, as an example) and may include additional image details, requiring additional image processing to identify and decode barcodes in the image. Acquired color images may require additional processing resources and time to perform image processing and for machine vision processing or mark detection and decoding compared to grayscale images or images acquired by non-color sensors. Therefore, while the widespread implementation of color image sensors has improved certain functions and implemented certain processes and operations, using color images for mark decoding (e.g., barcode decoding) may be less efficient and less accurate. In some color imaging systems used for barcode decoding, the result is long, undesirable image processing and decoding times, which may not even lead to a successful decoding operation.

[0002] Therefore, an improved design with enhanced functionality is needed. Summary of the Invention

[0003] According to a first embodiment, this disclosure is a computer-implemented method for performing grayscale image generation. The method includes: acquiring color information of the environment in the field of view of an imaging component using a color image sensor, the color image sensor including a plurality of color pixels, each color pixel being configured to acquire corresponding color information of the environment; determining, by a processor, a grayscale value of each of the plurality of color pixels, the grayscale value being determined by color information from a two-by-two pixel array of the color image sensor; and generating a grayscale image from the grayscale value of each pixel using the processor.

[0004] In a variant of the current embodiment, determining the grayscale value of each pixel includes: determining the grayscale value of each given pixel from color information of the pixel neighborhood relative to the position of each corresponding given pixel. In a successive variant, determining the grayscale value of each given pixel includes: determining the grayscale value from a weighted sum of color information values ​​from color pixels at relevant positions of the corresponding pixel.

[0005] In further variations, the plurality of color pixels includes pixels configured to detect different colors, and wherein the grayscale value of each pixel is determined from the plurality of pixels, the plurality of pixels including at least one pixel configured to detect each corresponding different color. In a specific example, the color image sensor includes: a red-green-blue (RGB) camera having red, green, and blue pixels, the red, green, and blue pixels being configured to provide information related to acquired red pixel image values, green pixel image values, and blue pixel image values, and wherein determining the grayscale value includes: determining each grayscale value from at least three nearest neighbor pixels including a red pixel, a green pixel, and a blue pixel.

[0006] In further variations, the color image sensor includes pixels with a Bayer pattern. In a specific example, each of the plurality of color pixels is configured to detect a wavelength spectrum different from that of each adjacent color pixel.

[0007] In another embodiment, the present invention is an imaging assembly for generating a grayscale image of a color sensor. The system includes: an imaging assembly having a color imaging sensor configured to capture an image of the environment in the field of view of the imaging assembly, the color imaging sensor including a plurality of color pixels configured to acquire color information of the environment; one or more processors and machine-readable instructions, which, when executed by the one or more processors, cause the system to: acquire color information of the environment in the field of view of the imaging assembly via the imaging assembly; determine, by the processor, a grayscale value of each of the plurality of color pixels, the grayscale value being determined by color information from a two-by-two pixel array of the color image sensor; and generate a grayscale image from the grayscale value of each pixel via the processor.

[0008] In a variant of the current embodiment, to determine the grayscale value of each pixel, the machine-readable instructions cause the system to determine the grayscale value of each given pixel from color information of the pixel neighborhood relative to the position of each corresponding given pixel. In further variants, to determine the grayscale value of each given pixel, the machine-readable instructions cause the system to determine the grayscale value from a weighted sum of color information values ​​from color pixels at relevant positions of the corresponding pixel.

[0009] In further variations of the present embodiment, the plurality of color pixels include pixels configured to detect different colors, and wherein the grayscale value of each pixel is determined from the plurality of pixels, the plurality of pixels including at least one pixel configured to detect each corresponding different color.

[0010] In various variations of the current embodiment, each pixel of the plurality of color pixels is configured to detect a wavelength spectrum different from that of each adjacent color pixel. In a specific example, the color image sensor includes a red-green-blue (RGB) camera having red, green, and blue pixels, the red, green, and blue pixels being configured to provide information related to acquired red pixel image values, green pixel image values, and blue pixel image values, and wherein determining a grayscale value includes determining each grayscale value from at least three pixels including a red pixel, a green pixel, and a blue pixel.

[0011] In a continuing variation of the current embodiment, the color image sensor includes pixels with a Bayer pattern. In a specific example, each pixel of the plurality of color pixels is configured to detect a wavelength spectrum different from that of each adjacent color pixel.

[0012] In yet another variation, the invention is a non-transient computer-readable medium storing computer-executable instructions that, when executed via one or more processors, cause one or more systems to: acquire color information of an environment in the field of view of an imaging component via a color image sensor, the color image sensor comprising a plurality of color pixels configured to acquire the color information of the environment; determine, via a processor, a grayscale value of each of the plurality of color pixels, the grayscale value being determined from the color information; and generate a grayscale image via the processor from the grayscale value of each pixel.

[0013] In a variant of the current embodiment, to determine the grayscale value of each pixel, the machine-executable instructions cause the system, via the processor, to determine the grayscale value of each given pixel from color information of the pixel neighborhood relative to the position of each corresponding given pixel. In further variants, to determine the grayscale value of each given pixel, the machine-executable instructions cause the system, via the processor, to determine the grayscale value from a weighted sum of color information values ​​from color pixels at relevant positions of the corresponding pixel.

[0014] In a further variation of the current embodiment, the color image sensor includes pixels with a Bayer pattern. In some variations, each pixel of the plurality of color pixels is configured to detect a wavelength spectrum different from that of each adjacent color pixel. In a specific example, the color image sensor includes a red-green-blue (RGB) camera having red, green, and blue pixels, the red, green, and blue pixels being configured to provide information related to acquired red pixel image values, green pixel image values, and blue pixel image values, and wherein determining a grayscale value includes determining each grayscale value from at least three pixels including one red pixel, one green pixel, and one blue pixel. Attached Figure Description

[0015] The accompanying drawings (in which the same reference numerals denote the same or functionally similar elements throughout the different views) together with the following detailed description are incorporated into and form part of the specification, and serve to further illustrate embodiments including the concepts of the claimed invention, and to explain the various principles and advantages of those embodiments.

[0016] Figure 1 A barcode reader is shown for implementing the example methods and / or operations described herein.

[0017] Figure 2 An implementation of the technology described herein is shown. Figure 1 The operation of a barcode reader scanning a barcode.

[0018] Figure 3 Some embodiments according to the description are shown. Figure 1 A schematic block diagram of a part of a barcode reader.

[0019] Figure 4 This is a block diagram of an example logic circuit used to implement the example methods and / or operations described herein.

[0020] Figure 5 It is a Bayer color sensor array used to capture color images.

[0021] Figure 6 This is a flowchart of a method for generating a grayscale image from raw color pixel data and values, according to some embodiments described herein.

[0022] Figure 7 Another barcode reader is shown for implementing the example methods and / or operations described herein.

[0023] Those skilled in the art will understand that the elements in the accompanying drawings are shown for simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some elements in the drawings may be exaggerated relative to other elements to aid in understanding embodiments of the invention.

[0024] The apparatus and method configurations have been indicated in appropriate places in the accompanying drawings by conventional symbols, which show only those specific details relevant to understanding embodiments of the invention, so as not to obscure this disclosure with details that would be obvious to those skilled in the art who benefit from the description herein. Detailed Implementation

[0025] Imaging systems for detecting and decoding barcodes typically employ color cameras due to their availability, cost, and widespread use and adoption. Sometimes, color sensor cameras are even more cost-effective and economical than black-and-white or grayscale imaging cameras. In many use cases and environments, color images are less effective than grayscale or black-and-white images in detecting and decoding barcodes. Therefore, to improve the ability to decode tags using color images, a method for converting color image data to grayscale data is presented. Other methods typically convert color images to grayscale for further processing, which requires additional processing time and resources and may distort the image or lose information in the process. The described method determines grayscale values ​​directly from color sensor data without acquiring intermediate color image values. The described method improves the efficiency and accuracy of barcode and tag identification and decoding using color imaging sensors. The described method can be implemented on any imaging system employing a color imaging sensor or camera, including binocular scanners, point-of-sale systems, fixed scanners, slotted scanners, and handheld scanners and imagers, as well as other potential imaging systems.

[0026] Figure 1 This is an illustration of an example barcode reader 100 capable of implementing an example method as illustrated in the flowcharts accompanying this specification. In the illustrated example, the barcode reader 100 includes a housing 102 having a handle 103 with a trigger 104 on its inner side. In the illustrated example, the barcode reader 100 enters a reading operation state by the operator pulling the trigger 104 to scan a barcode. In some examples, the barcode reader 100 remains in the reading operation state as long as the trigger 104 is pressed, while in other examples, the barcode reader 100 enters the reading operation state with the pulling of a first trigger and exits the reading operation state with the pulling of a subsequent trigger.

[0027] The housing 102 further includes a scanning window 106 through which the barcode reader 100 illuminates a target, such as packaging, surface, or picking slip, to decode a barcode on the target. As used herein, reference to barcode includes any mark that contains decodable information and can be presented on or within a target, including but not limited to one-dimensional barcodes, two-dimensional barcodes, three-dimensional barcodes, four-dimensional barcodes, QR codes, direct part marking (DPM), color barcodes, barcodes embedded on a color background, other color images with markings, etc.

[0028] In the illustrated example, the barcode reader 100 includes an imaging component 150 configured to capture an image of a target within a predetermined field of view, and specifically configured to capture an image including a barcode on the target. The barcode reader 100 further includes an aiming component 152 configured to generate an aiming pattern projected onto the target, such as a dot, crosshair, line, rectangle, circle, etc. The barcode reader 100 further includes an image processing circuitry 154 configured to process the raw image data provided to the image processing circuitry 154 by the imaging component 150. The image processing circuitry 154 can be configured to perform any number of transformations, masks, or other image processing techniques and methods on the raw image data to generate processed image data. Additionally, the image processing circuitry 154 can determine not to perform image processing on the raw image data. The barcode reader 100 may further include a processing platform 156 configured to interface with the imaging assembly 150, the aiming assembly 152, the image processing circuitry 154, and other components of the barcode reader 100 to implement the operation of the exemplary methods described herein, including those that can be represented by figures (such as...). Figure 6 The operation is illustrated in the flowchart. In some embodiments, the barcode reader described herein may include other elements or systems, such as an illumination assembly for providing monochrome, white, ultraviolet, or other types of illumination to a target, as shown in the reference. Figure 3 Further description.

[0029] Figure 2 The operation of a barcode reader 100 implemented according to the technology described herein is illustrated. Figure 2 In the illustration, a barcode reader 100 with an FOV 160 is shown in operating mode, where the FOV 160 sets the boundary for an image environment that can be captured by the imaging device 150. In an embodiment, the FOV 160 can be determined by the distance between the barcode reader and the target 164. In the example shown, the aiming component 152 has generated an aiming pattern 162, which can be... Figure 2 The crosshairs are shown. In various embodiments, the aiming pattern 162 can be a dot, multiple dots, multiple crosshairs, or other aiming patterns. In one embodiment, the aiming pattern 162 is centered within the FOV 160 and incident on a target 164 in the center of the environment captured as an image by the barcode reader 100.

[0030] In operation, the barcode reader 100 is positioned such that the aiming pattern 162 is incident on the barcode 166, thereby indicating that the barcode 166 will be decoded, and a decoding signal including the decoded barcode data is sent to a remote system. The remote management system may be an inventory management system, a payment processing system, an anti-theft system, or other network access system or a network-accessible server.

[0031] Figure 3 A schematic block diagram of a portion of a barcode reader 100 according to some embodiments is shown. It should be understood that... Figure 3 It was not drawn to scale. Figure 3 The barcode reader 100 includes: (1) a first circuit board 114; (2) a second circuit board 116; (3) an imaging assembly 118 including an imaging sensor 120 and an imaging lens assembly 122; (4) an aiming assembly 124 including an aiming light source 126; (5) an illumination assembly 128 including an illumination light source 130; (6) a controller 132; (7) an image processing circuit 133; and (8) a memory 134.

[0032] Imaging sensor 120 may be a CCD or CMOS imaging sensor, which typically includes a plurality of photosensitive pixel elements arranged in a one-dimensional array for linear sensors, or in a two-dimensional array for two-dimensional sensors. Imaging sensor 120 is operable to detect light captured by imaging assembly 118 through window 108 along an optical path or central field of view (FOV) axis 136. Typically, image sensor 120 and imaging lens assembly 122 are configured to operate in concert to capture light scattered, reflected, or emitted from the barcode as pixel data on a one-dimensional or two-dimensional FOV 138 extending between a near working distance (NWD) and a far working distance (FWD). NWD and FWD represent distances within which imaging assembly 118 is designed to read the barcode. In some embodiments, NWD is between approximately 0 cm and approximately 2 cm from window 108, and FWD is between approximately 25 inches and approximately 150 inches from window 108. In the example, imaging sensor 120 may include one or more color imaging cameras, sensors, or detectors. Imaging sensor 120 may include a plurality of color pixels (e.g., an image sensor or pixel that detects one or more color bands of light). The plurality of color pixels may each be designed or configured to detect light of a corresponding wavelength or wavelength band (e.g., color or spectrum). The plurality of pixels may be arranged in a Bayer pattern, as further described herein. In a specific implementation, imaging sensor 120 may include an RGB camera with red, green, and blue pixels configured to provide information related to the acquired red pixel image value, green pixel image value, and blue pixel image value, respectively. Each of the plurality of pixels may be further positioned and configured to detect a set of colors or wavelength bands that are different from those of spatially adjacent pixels of imaging sensor 120 (e.g., nearest neighbor pixels in the horizontal or vertical direction).

[0033] Imaging sensor 120 is operated by controller 132, which may be a microprocessor, FPGA, or other processor, and is communicatively connected to imaging sensor 120. Additionally, controller 132 is communicatively connected to aiming light source 126, illumination light source 130, image processing circuitry 133, and memory 134. Although the links between these components are shown as a single communication bus 140, this is merely illustrative, and any communication link between any devices may be dedicated or may include more than two selected devices. Additionally, the arrangement of components on either side of any circuit board is similarly exemplary. In operation, memory 134 can be accessed by controller 132 for storing and retrieving data. In some embodiments, first circuit board 114 also includes decoder 142 for decoding one or more barcodes captured by imaging sensor 120. Decoder 142 may be implemented within controller 132 or as a separate module.

[0034] Image processing circuitry 133, which may be a microprocessor, FPGA, dedicated image processing unit (IPU), or image signal processor (ISP), can communicate with controller 132 and memory 134 for data communication between image processing circuitry 133 and controller 132 and / or memory 134. Image processing circuitry 133 can communicate with imaging sensor 120, enabling imaging sensor 120 to send captured raw image data to image processing circuitry 133. Image processing circuitry 133 can then perform image analysis on the raw image data and / or perform image processing techniques on the raw image data to generate processed image data. In embodiments, image processing circuitry 133 can output a single image dataset or multiple image datasets and provide one or more image datasets to memory 134 and / or controller 132. Image processing circuitry 133 can also provide one or more image datasets to decoder 142 for decoding tags that may be contained in the image data. In embodiments, image processing circuitry 133 can also determine the type of image data to be output. Image processing circuitry 133 may determine whether to output raw image data, processed image data, multiple processed image datasets, or raw image data and one or more processed image datasets to controller 132, memory 134, and / or decoder 142. Raw image data may include raw data from each of a plurality of pixels from imaging sensor 120. The image processing circuitry may then convert the raw data from a single pixel or group of pixels into a grayscale image value for each corresponding pixel, as further described herein. In this example, image processing circuitry 133 may perform the conversion to grayscale values ​​before generating an image based on the raw data of the plurality of pixels themselves.

[0035] In an operational example, imaging sensor 120 can detect the light captured by imaging assembly 118 based on exposure parameters. The exposure parameters can be based on at least one of the following: ambient lighting level, distance to the object captured by imaging sensor 120, color of the object captured by imaging sensor 120, and color of a barcode on the object captured by imaging sensor 120, wherein the barcode will be decoded by decoder 142. Further, the exposure parameters can be the focus of imaging assembly 118, white balance correction of imaging sensor 120, and illumination level provided by illumination source 130. The exposure parameters can be determined from an automatic exposure area, wherein the automatic exposure area is less than one percent or five percent of the size of field of view 138. The exposure parameters can be stored in memory 134.

[0036] Images captured by an imaging sensor may include image attribute data, such as the image's brightness and contrast. This image attribute data may be natively output by the imaging sensor 120 or determined at a decoder 142, controller 132, or image processing circuitry 133. In an embodiment, the imaging sensor 120 provides raw image data to the image processing circuitry 133, and the image processing circuitry 133 performs analysis on the raw image data to determine the image attribute data. The determined image attribute data may include image contrast data, image spatial frequency content, image chromaticity content data, spatial resolution data, image size data, image sharpness data, image brightness data, and other types of image attribute data. In an embodiment, the imaging sensor 120 may have built-in circuitry and features to determine the image attribute data and output the image attribute data to the image processing circuitry 133, controller 132, and / or memory 134.

[0037] As described above, the illumination source 130 is communicatively connected to the controller 132 and is activated by the controller 132 in response to a user actuating the trigger 110 in handheld operation mode. In hands-free operation mode, the controller 132 can continuously activate the illumination source 130. The illumination source 130 is operatively emitting light through window 108 along an optical path passing through window 108 or along a central illumination axis 137. In one embodiment, the illumination source 130 is vertically offset from the imaging sensor 120. In another embodiment, to avoid directing excessive strong light to the center of the barcode and oversaturating the barcode image, the barcode reader has two illumination sources, each horizontally offset from either side of the imaging sensor 120. In one embodiment, the illumination source 130 can be configured to provide monochromatic light, white light, ultraviolet light, or light with a frequency band or color to illuminate the target.

[0038] As described above, the aiming light source 126 is communicatively connected to the controller 132. The aiming light source 126 and the aiming assembly 124 are operably emitting light in the form of an aiming pattern through window 108 along an aiming path or a central aiming axis 139, defined by the central aiming axis 139. The user of the scanner 100 can use the aiming pattern as a guide to bring a barcode into the field of view 138 for barcode capture. In hands-free mode, the controller 132 can deactivate the aiming light source 126 immediately after an image is captured at the imaging sensor 120. In handheld mode, the controller can deactivate the aiming light source 126 in response to activation trigger 110, so that the aiming pattern does not interfere with image capture. Figure 3 As shown, the aiming component 124 is offset from the imaging component 118, resulting in an off-axis configuration of the central aiming axis 139 and the FOV 138, which includes the central field of view axis 136.

[0039] exist Figure 3In the illustrated embodiment, an illumination source 130 is provided on a first circuit board 114, while an imaging sensor 120 is provided on a second circuit board 116. However, in some embodiments, the illumination source 130 and the imaging sensor 120 are disposed on the same circuit board. The optical element 135 may be any optical element that redirects light emitted by the illumination source 130, and more specifically, redirects the central illumination axis 137 of the illumination source 130 in a manner that results in little or no amplification of the light. In some embodiments, the optical element 135 is a prism, such as a deflecting prism, although the optical element 135 may also be a mirror, a series of mirrors, optical waveguide(s), etc. It will be understood that when the optical element 135 is an optical waveguide, the optical waveguide limits the spatial range in which light can propagate by using a region having an increased refractive index compared to the surrounding medium. Examples of suitable optical waveguides include, but are not limited to, single-mode optical fibers, channel waveguides, planar waveguides, and strip waveguides. Preferably, the optical element does not amplify, or only minimally amplifies, the illumination light from the illumination source 130 to avoid specular reflection of the barcode.

[0040] In one embodiment, the optical element 135 is adhered to or otherwise secured to the window 108. In other embodiments, the window 108 may be molded such that the optical element 135 is integrated with the window 108. In yet another embodiment where the barcode reader 100 has two illumination sources, an optical element 135 may be provided for each illumination source. In different embodiments where the barcode reader 100 has two illumination sources, the optical elements 135 may be integrated with each other, such as as a single prism extending in width to each illumination source.

[0041] Figure 4 This is a block diagram representing an example logic circuit that can implement, for example... Figure 1 One or more components of an example barcode reader 100 are used to perform grayscale conversion of color sensor data and generate a grayscale image. Figure 4 The example logic circuit is a processing platform 200, which is capable of executing instructions to implement, for example, the operations of the example methods described herein, as can be represented by the flowcharts accompanying the accompanying drawings. Other example logic circuits capable of implementing, for example, the operations of the example methods described herein include field-programmable gate arrays (FPGAs) and application-specific integrated circuits (ASICs).

[0042] Figure 4 The example processing platform 200 includes a processor 202, such as, for example, one or more microprocessors, controllers, and / or any suitable type of processor. Figure 4The example processing platform 200 includes a memory (e.g., volatile memory, non-volatile memory) 204 accessible by a processor 202 (e.g., via a memory controller). The example processor 202 interacts with the memory 204 to obtain, for example, machine-readable instructions stored in the memory 204 corresponding to operations, for example, those represented by flowcharts of this disclosure. Additionally or alternatively, the machine-readable instructions corresponding to the example operations described herein may be stored on one or more removable media (e.g., optical disc, digital universal disk, removable flash memory, etc.) that may be coupled to the processing platform 200 to provide access to the machine-readable instructions stored thereon.

[0043] Figure 4 The example processing platform 200 also includes a network interface 206 to enable communication with other machines via, for example, one or more networks. The example network interface 206 includes any suitable type of communication interface(s) (e.g., wired and / or wireless interfaces) configured to operate according to any suitable protocol(s).

[0044] Figure 4 The example processing platform 200 also includes an input / output (I / O) interface 208 to enable communication between the user and the user, including receiving user input and outputting data.

[0045] Processor 202 can be configured to execute reference Figure 3 The functions performed by the described components, and more specifically, the processor 202 can execute machine-readable instructions to perform the functions of the image processing circuitry 313, the controller 132, and the decoder 142.

[0046] The above description relates to the block diagrams in the accompanying drawings. Alternative implementations of the examples represented by the block diagrams include one or more additional or alternative elements, processes, and / or devices. Additionally or alternatively, one or more of the example boxes in the figures may be combined, divided, rearranged, or omitted. Components represented by the boxes in the figures are implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. In some examples, at least one of the components represented by the boxes is implemented by logic circuitry. As used herein, the term "logic circuitry" is explicitly defined as a physical device comprising at least one hardware component configured (e.g., via operation based on a predetermined configuration and / or via execution of stored machine-readable instructions) to control one or more machines and / or perform operations on one or more machines. Examples of logic circuitry include one or more processors, one or more coprocessors, one or more microprocessors, one or more controllers, one or more digital signal processors (DSPs), one or more application-specific integrated circuits (ASICs), one or more field-programmable gate arrays (FPGAs), one or more microcontroller units (MCUs), one or more hardware accelerators, one or more application-specific computer chips, and one or more system-on-a-chip (SoC) devices. Some example logic circuits, such as ASICs or FPGAs, are specially configured hardware for performing operations (e.g., one or more operations described herein and represented by flowcharts of this disclosure, if present). Some example logic circuits are hardware that executes machine-readable instructions to perform operations (e.g., one or more operations described herein and represented by flowcharts of this disclosure, if present). Some example logic circuits include a combination of specially configured hardware and hardware that executes machine-readable instructions. The foregoing description relates to the various operations described herein and flowcharts that may be appended herein to illustrate those operations. Any such flowchart represents an example method disclosed herein. In some examples, the method represented by the flowchart implements an apparatus represented by the block diagram. Alternative implementations of the example methods disclosed herein may include additional or alternative operations. Furthermore, operations of alternative implementations of the methods disclosed herein may be combined, partitioned, rearranged, or omitted. In some examples, the operations described herein are implemented by machine-readable instructions (e.g., software and / or firmware) stored on a medium (e.g., a tangible machine-readable medium) for execution by one or more logic circuits (e.g., processors). In some examples, the operations described herein are implemented by one or more configurations of one or more specially designed logic circuits (e.g., multiple ASICs).

[0047] As used herein, each of the terms "tangible machine-readable medium," "non-transient machine-readable medium," and "machine-readable storage device" is explicitly defined as a storage medium (e.g., a disk of a hard disk drive, digital multifunction disk, optical disk, flash memory, read-only memory, random access memory, etc.) on which machine-readable instructions (e.g., program code in the form of software and / or firmware) are stored for any suitable duration (e.g., permanently, for extended periods of time (e.g., while a program associated with the machine-readable instructions is being executed), and / or for short periods of time (e.g., while the machine-readable instructions are cached and / or during buffering)). Furthermore, as used herein, each of the terms "tangible machine-readable medium," "non-transient machine-readable medium," and "machine-readable storage device" is explicitly defined to exclude propagation signals. That is, as used in any claim of this patent, none of the terms "tangible machine-readable medium," "non-transient machine-readable medium," and "machine-readable storage device" should be construed as being implemented by propagation signals.

[0048] Figure 5 This is a Bayer color sensor array 520 for capturing color images. The Bayer color sensor array 520 has three different color sensors: a red sensor (represented by the letter "R"), a green sensor (represented by the letter "G"), and a blue sensor (represented by the letter "B"), configured in a six-by-six spatial pattern. Different pixel types (i.e., red, green, and blue) detect different color or wavelength bands to generate color pixel information. Each pixel of the Bayer color sensor array 520 is positioned near neighboring pixels of different types configured to detect different colors. For example, each blue pixel has both its vertical and horizontal nearest neighbor pixels as green pixels, and each green pixel has a blue pixel as its horizontal nearest neighbor and a red pixel as its vertical nearest neighbor. Therefore, the vertical and horizontal nearest neighbors of each given pixel are configured to detect a set of wavelengths different from the active wavelength detection band of the given pixel. The Bayer color sensor array (also called the Bayer sensor array) 520 is an example of a method for acquiring color image data to perform the methods and techniques described herein. Other color sensor types and arrays are envisioned.

[0049] Figure 6 This is a flowchart of an embodiment of a process 600 for generating a grayscale image from color information acquired from one or more color sensors, which can be derived from... Figures 1-3 The barcode reader 100 performs the operation. Initially, at process 602, the barcode reader 100 acquires color information of the environment within its field of view. This includes one or more color image sensors (e.g., in a pixel array, such as...) comprising multiple color sensor pixels. Figure 5 The example shown is a Bayer pixel array 520, which acquires color information of the environment. Each color pixel in one or more color image sensors is configured to detect light of a specific color or wavelength band. For example, some pixels may typically be configured to detect green, blue, red, or other colors of light in the environment. Color pixels may detect a specific color or wavelength band via one or more color filters, or via a specific detection wavelength efficiency band that has higher detection efficiency at desired wavelength bands but lower efficiency at undesired wavelength bands or colors at a given pixel sensor.

[0050] Then, at process 604, the processor determines the grayscale value from the acquired color information. The grayscale value is determined for each color pixel in the pixel sensor array. In the example, the grayscale value of a given pixel can be determined from the color information and values ​​of pixels in the neighborhood of the given pixel or within the physical region of the given pixel. For example, the grayscale value of a target pixel can be determined by a weighted sum of the color values ​​of its neighboring pixels in a two-by-two neighborhood. Equation 1 is an example of determining the pixel grayscale value from the neighborhood of two-by-two color pixel values.

[0051] Equation 1

[0052] Using Equation 1, the grayscale value Y is determined by the color pixels of adjacent red pixel values ​​R, adjacent blue pixel values ​​B, and adjacent green pixel values ​​G, along with their corresponding weighted constants a, b, and c. In the example, the grayscale pixel value can be determined from more than one red pixel value, more than one blue pixel value, and / or more than one green pixel value, depending on the location of the target pixel and the color type of its corresponding neighboring pixels.

[0053] In the example, red, green, and blue (RGB) color pixel values ​​can range from 0 to 255, and constants a, b, and c can be normalized or determined based on the possible values ​​of the RGB pixel values. Additionally, weighting values ​​can be determined based on human eye-perceived brightness or the human eye's sensitivity to various wavelength bands. The weighting values ​​can be further determined to increase the influence of certain wavelength bands while reducing the influence of other wavelength bands in generating grayscale values.

[0054] Reference Figure 5A Bayer patterned sensor array 520 is used to illustrate an example of performing the method for generating a grayscale image described herein. In the example, the processor can determine the grayscale value of a first pixel 522 from a two-by-two pixel set. The two-by-two neighborhood used to determine the grayscale value of the first pixel 522 may include the green color value from a second pixel 524 horizontally adjacent to the first pixel 522, the green color value from a third pixel 526 vertically adjacent (e.g., below) to the first pixel 522, the red color value from a fourth pixel 528 diagonally opposite to the first pixel 522, and may also include the blue color value from the first pixel 522. In a specific example, the constants a, b, and c in Equation 1 can take values ​​of 0.299, 0.587, and 0.114, and Equation 1 becomes: Equation 2 Where G1 is the green pixel value from the second pixel 524, and G2 is the green pixel value from the third pixel 526. Figure 5 In the example of the Bayer pixel array pattern 250, when using a two-by-two pixel array to determine grayscale values, Equation 1 will always include two green pixels. The grayscale value of a given pixel is then determined by the color value of the target pixel itself, the color values ​​from two adjacent pixels (i.e., the second and third pixels 524 and 526, which are horizontally and vertically adjacent), and the color value from a diagonally positioned pixel (i.e., the fourth pixel 528). The grayscale value of the second pixel 524 can then be determined using the color value from the second pixel 524, the blue color value from the horizontally adjacent fifth pixel 530, the red color value from the vertically adjacent fourth pixel 528, and the green color value from the diagonally positioned sixth pixel 532. The processor can then iteratively determine the grayscale value of each pixel in the Bayer pixel array 520 using the two-by-two color pixel neighborhood. It should be noted that in the current example, the pixels in the rightmost column and bottommost row can have their grayscale values ​​determined using different methods, or they may not have grayscale values ​​determined for these pixels, resulting in a reduced grayscale image by one row and one column due to the lack of corresponding 2x2 neighborhoods for these pixels. The grayscale values ​​in the rightmost column and bottommost row can be further determined to be equal to the adjacent columns or rows to maintain the image size. It should be understood that the example described herein can be performed using an array of adjacent pixels of a different size, and Equation 1 will be appropriately modified according to the size of the desired neighborhood array. Furthermore, it should be understood that the color pixel values ​​are determined from the raw color data received from each individual pixel in the pixel array or from the sensor.

[0055] At process 606, the processor generates a grayscale image from the set of grayscale values ​​determined for the pixel array. To generate the grayscale image, the processor uses the obtained grayscale values ​​and the positions of corresponding pixels in the pixel array to generate the image. Process 600 further includes identifying markers in the generated grayscale image at process 608. The processor can use any number of image processing techniques (including preprocessing, which may include image sharpening, geometric transformation, rotation, skewing, brightness filtering, high-frequency or low-frequency filtering, or other image processing techniques) to identify the markers. The processor can use templates or be configured to identify one or more types of markers, including but not limited to 1D barcodes, QR codes, data matrix codes, or other types of markers.

[0056] At process 610, the process decodes the marker in the grayscale image and identifies the payload associated with one or more objects in the environment or the field of view of the barcode reader 100. Decoding the marker in the grayscale image can be more accurate than identifying and decoding the marker in the color image. Furthermore, the method of converting raw color data into grayscale data for each pixel and then generating a grayscale image from the pixel grayscale data is more efficient and accurate than other methods of generating a color image and subsequently converting the color image to grayscale. The described system and method for generating a grayscale image from raw color pixel data offer improvements in efficiency and accuracy compared to other systems implementing color cameras to identify and decode markers such as barcodes.

[0057] Figure 7 Another barcode reader for implementing the example methods and / or operations described herein is illustrated. The reader 400 may be referred to as a tag reader, and the reader device may be handheld to scan tags while moving around a target, or the reader 400 may be fixed (e.g., independent of a workbench). In the example shown, the reader 400 includes a housing 401 having a lower housing portion 402 and an optical imaging assembly 403. The optical imaging assembly 403 is at least partially positioned within the housing 401 and has a field of view (FOV) 404. The reader 400 also includes a light-transmitting window 406 and a trigger 408.

[0058] Specific embodiments have been described in the foregoing specification. However, those skilled in the art will understand that various modifications and changes can be made without departing from the scope of the invention as set forth in the appended claims. Therefore, the specification and drawings are to be considered illustrative rather than restrictive, and all such modifications are intended to be included within the scope of this teaching. Additionally, the described embodiments / examples / implementations should not be construed as mutually exclusive, but rather as potentially composable if such combinations are permitted in any way. In other words, any feature disclosed in any of the foregoing embodiments / examples / implementations may be included in any of the other foregoing embodiments / examples / implementations.

[0059] These benefits, advantages, solutions to problems, and any elements(s) that make any benefit, advantage, or solution occur or become more prominent are not to be construed as key, essential, or necessary features or elements of any or all claims. The claimed invention is defined solely by the appended claims, including any modifications made during the pending examination of this application and all equivalents of those claims in the grant announcement.

[0060] Furthermore, in this document, relational terms such as first and second, top and bottom, etc., may be used individually to distinguish one entity or action from another entity or action, without necessarily requiring or implying any actual such relationship or order between such entities or actions. Terms including “(comprises),” “comprising,” “has,” “having,” “includes,” “including,” “contains,” “containing,” or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that includes, has, includes, or contains a list of elements includes not only those elements but may also include other elements not expressly listed or inherent to such process, method, article, or apparatus. Elements beginning with “(comprises),” “has,” “includes,” or “contains,” in the absence of further constraints, do not exclude the presence of additional identical elements in the process, method, article, or apparatus that includes, has, includes, or contains that element. The term "a / an" is defined as one or more unless expressly stated otherwise herein. The terms "substantially," "essentially," "approximately," "about," or any other version of these terms are defined as being as close as understood by one of ordinary skill in the art, and in one non-limiting embodiment, these terms are defined as within 10%, in another within 5%, in yet another within 1%, and in yet another within 0.5%. The term "coupled" as used herein is defined as connected, although not necessarily directly connected or mechanically connected. A device or structure "configured" in a certain way is configured at least in that manner, but may also be configured in ways not listed.

[0061] This abstract is provided to allow the reader to quickly determine the nature of the disclosure. This abstract is submitted with the understanding that it is not intended to interpret or limit the scope or meaning of the claims. Furthermore, in the above detailed description, it can be seen that various features are grouped together in various embodiments for the purpose of making the disclosure coherent. This method of disclosure should not be construed as reflecting an intention that the claimed embodiments require more features than expressly recited in the claims. Rather, as reflected in the appended claims, the inventive subject matter may lie in fewer than all the features of a single disclosed embodiment. Therefore, the appended claims are thus incorporated into the detailed description, wherein each claim represents itself as a separately claimed subject matter.

Claims

1. A computer-implemented method for performing grayscale image generation, the method comprising: The color image sensor acquires color information of the environment in the field of view of the imaging component. The color image sensor includes multiple color pixels, each of which is configured to acquire the corresponding color information of the environment. The processor determines the grayscale value of each pixel among the plurality of color pixels, the grayscale value being determined by color information from the two-by-two pixel array of the color image sensor; and The processor generates a grayscale image from the grayscale value of each pixel.

2. The method of claim 1, wherein determining the grayscale value of each pixel comprises: The grayscale value of each given pixel is determined from the color information of the pixel neighborhood relative to the position of each corresponding given pixel.

3. The method of claim 1, wherein the plurality of color pixels includes pixels configured to detect different colors, and wherein the grayscale value of each pixel is determined from the plurality of pixels, the plurality of pixels including at least one pixel configured to detect each corresponding different color.

4. The method of claim 1, wherein determining the grayscale value of each given pixel comprises: The grayscale value is determined by a weighted sum of the color information values ​​from the corresponding pixels at their respective locations.

5. The method of claim 1, wherein the color image sensor comprises Bayer patterned pixels.

6. The method of claim 1, wherein the color image sensor comprises: A red-green-blue (RGB) camera having red, green, and blue pixels, wherein the red, green, and blue pixels are configured to provide information relating to acquired red pixel image values, green pixel image values, and blue pixel image values, and wherein determining grayscale values ​​includes determining each grayscale value from at least three pixels including a red pixel, a green pixel, and a blue pixel.

7. The method of claim 1, wherein each of the plurality of color pixels is configured to detect a wavelength spectrum different from that of each adjacent color pixel.

8. A system for generating a grayscale image from a color sensor, the system comprising: An imaging assembly having a color imaging sensor configured to capture an image of the environment within the field of view of the imaging assembly, the color imaging sensor including a plurality of color pixels configured to acquire color information of the environment; and One or more processors and machine-readable instructions, which, when executed by said one or more processors, cause the system to: The color information of the environment in the field of view of the imaging component is obtained through the imaging component; The processor determines the grayscale value of each pixel among a plurality of color pixels, the grayscale value being determined by color information from a two-by-two pixel array of the color image sensor; and The processor generates a grayscale image from the grayscale value of each pixel.

9. The system of claim 8, wherein, in order to determine the grayscale value of each pixel, the machine-readable instructions cause the system to determine the grayscale value of each given pixel from color information of the pixel neighborhood relative to the position of each corresponding given pixel.

10. The system of claim 8, wherein the plurality of color pixels includes pixels configured to detect different colors, and wherein the grayscale value of each pixel is determined from the plurality of pixels, the plurality of pixels including at least one pixel configured to detect each corresponding different color.

11. The method of claim 8, wherein, in order to determine the grayscale value of each given pixel, the machine-readable instructions cause the system to determine the grayscale value from a weighted sum of color information values ​​from color pixels at relevant locations of the corresponding pixel.

12. The system of claim 8, wherein the color image sensor comprises pixels with a Bayer pattern.

13. The system of claim 8, wherein the color image sensor comprises: A red-green-blue (RGB) camera having red, green, and blue pixels, wherein the red, green, and blue pixels are configured to provide information related to acquired red pixel image values, green pixel image values, and blue pixel image values, and wherein determining grayscale values ​​includes determining each grayscale value from at least three pixels including a red pixel, a green pixel, and a blue pixel.

14. The system of claim 8, wherein each pixel of the plurality of color pixels is configured to detect a wavelength spectrum different from that of each adjacent color pixel.

15. One or more non-transitory computer-readable media storing computer-executable instructions, which, when executed via one or more processors, cause one or more systems to: A color image sensor is used to acquire color information of the environment in the field of view of the imaging component. The color image sensor includes multiple color pixels, which are configured to acquire the color information of the environment. The processor determines the grayscale value of each pixel among a plurality of color pixels, the grayscale value being determined from color information; and The processor generates a grayscale image from the grayscale value of each pixel.

16. The computer-readable medium of claim 15, wherein determining the grayscale value of each pixel comprises: The processor determines the grayscale value of each given pixel from color information from the pixel neighborhood at the location of each corresponding given pixel.

17. The computer-readable medium of claim 15, wherein determining the grayscale value of each given pixel comprises: The processor determines the grayscale value by weighted sum of color information values ​​from the relevant positions of the corresponding pixel.

18. The computer-readable medium of claim 15, wherein the color image sensor comprises pixels with a Bayer pattern.

19. The computer-readable medium of claim 15, wherein the color image sensor comprises: A red-green-blue (RGB) camera having red, green, and blue pixels, wherein the red, green, and blue pixels are configured to provide information related to acquired red pixel image values, green pixel image values, and blue pixel image values, and wherein determining grayscale values ​​includes determining each grayscale value from at least three pixels including a red pixel, a green pixel, and a blue pixel.

20. The computer-readable medium of claim 15, wherein each pixel of the plurality of color pixels is configured to detect a wavelength spectrum different from that of each adjacent color pixel.