SYSTEM AND METHOD FOR ENCHANTING AUTOMATIC WHITE COATING CORRECTION FOR COLOR CAMERAS
Patent Information
- Application Number
- DE112020003256
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-07-09
- Filing Date
- 2020-07-07
- Publication Date
- 2025-03-20
- Estimated Expiration
- 2040-07-07
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
BACKGROUND OF THE INVENTION
[0001] Barcode reading systems have been ubiquitous in retail and other industries for decades, used to read the barcodes affixed to products. The imaging systems included in barcode reading systems typically incorporate color cameras. Color cameras are expected to produce color images with an accurate representation of the product color, especially since the images are used for applications such as object recognition. Accurate color representation is achieved, in part, by correcting the white balance of a color camera.
[0002] To correct the white balance, the user would traditionally hold a known white surface in the field of view of the color camera. Based on the resulting image, the imaging system would calculate compensation distortions for the primary colors and store these distortions for further application to subsequent images captured by the color camera.
[0003] However, a predefined white balance calibration is not an effective solution for compensating for changing lighting conditions in a store. These conditions can change throughout the day due to variations in ambient light. Therefore, conventional barcode reading systems are unable to perform automatic white balance correction for a color camera.
[0004] US 2012 / 0 118 969 A1 describes a method and system for barcode scanning using image calibration for a captured image of a target barcode. The method includes: receiving color image values for the captured image from a color image sensor; determining a set of coefficients for calibrating the captured image based on predefined sensor sensitivity profiles, where the predefined sensor sensitivity profiles define spectral sensitivity values for the color image sensor for a range of predetermined wavelengths. Once the set of coefficients is obtained, they are applied to the color image values to obtain calibrated image values, for example, to provide a color match of the captured image. US 2011 / 0 007 967 A1 describes a method for retrieving information contained in a barcode.The procedure comprises detecting that the barcode is present in a first image with a first image quality, and detecting a first area, detecting a second image with a second image quality when the presence of the barcode is detected, and detecting a second area, wherein the second image quality is higher than the first image quality and wherein the second area at least partially overlaps the first area, and decoding the barcode based on the second image to retrieve the information.
[0005] US 2018 / 0121693A1 describes an add-on device for improving barcode reading for a mobile device with barcode-reading capability. The add-on device may include an outer housing and an inner carrier. A mobile device is enclosed in the inner carrier, and the combination of the inner carrier and the mobile device is housed in the outer housing. The inner carrier is configured to accommodate a mobile device of a specific size, so that a mobile device of a different size can be accommodated in the outer housing using a different inner carrier. The add-on device may also include an optical system to fold an optical path from the illumination field of a light source of the mobile device and / or from the field of view of a camera of the mobile device.
[0006] Accordingly, there is a need for solutions that address problems with scanners that cannot perform automatic white balance correction for a color camera. BRIEF DESCRIPTION OF THE DIFFERENT VIEWS OF THE DRAWINGS
[0007] The accompanying figures, in which identical reference numerals denote identical or functionally similar elements in the individual views, are incorporated into the disclosure together with the following detailed description and form an integral part of the disclosure and serve to further illustrate embodiments of concepts comprising the claimed invention described herein and to explain various principles and advantages of these embodiments. Fig. Figure 1A shows a perspective view of an exemplary checkout station according to the teachings of this revelation. Fig. Figure 1B is a block diagram representing an operational embodiment of an example system according to various embodiments of the present disclosure. Fig. Figure 2 shows an offset image sensor configuration according to an embodiment of the example system of Fig. 1B. Fig. 3 is a profile view of the example system of Fig. 1B, which captures images of various identification labels, according to various embodiments disclosed herein. Fig. Figure 4 shows a method for automatic white balance correction of color cameras, according to various embodiments disclosed herein. Fig. Figure 5 shows a method for automatically adjusting a contrast difference of color cameras, according to various embodiments disclosed herein.
[0008] Experts will recognize that elements in the figures are shown for the sake of simplicity and clarity and are not necessarily drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to improve the understanding of embodiments of the present invention.
[0009] 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 invention, so as not to obscure the disclosure with details that are readily apparent to those skilled in the field who refer to the present description. DETAILED DESCRIPTION OF THE INVENTION
[0010] According to the invention, a system and a corresponding method for automatic white balance correction of color cameras are described. The invention specifies a method with the features of claim 1 and a system with the features of claim 10. Furthermore, the invention describes a method for automatically adjusting the contrast difference of color cameras. The invention specifies a method with the features of claim 19. The system and the associated methods of the present disclosure offer solutions where, for example, a barcode reading device must capture color images with accurate color representation regardless of the ambient light conditions.
[0011] Conventional methods apply a single white balance correction to each image captured by a color camera until a subsequent white balance correction is performed. For example, conventional methods apply the same white balance correction to an image captured in dim ambient light as to an image captured in bright ambient light. However, due to the color variations that accompany differing amounts of natural and other external light sources (e.g., incandescent, fluorescent, and / or LED lighting in a store), a single white balance correction that neglects the simultaneous influence of ambient light on images captured throughout the day is inherently flawed.
[0012] To illustrate, when customers are checked out at a point-of-sale (POS) station, they routinely purchase multiple items. The time required to scan each item purchased by a single customer can define a transaction period that spans several minutes. Accordingly, the transaction period typically does not extend over a duration that results in significant changes in the quantity or quality of ambient light. Furthermore, the customer may purchase multiple identical items, meaning the images captured from these items will require similar white balance calibration. Therefore, the white balance correction calculated at the beginning of a transaction period may be sufficient for the remainder of that period.However, the time intervals between successive transaction periods can be so long that the amount or quality of ambient light changes significantly, so that a single white balance calibration calculated at a particular time of day is insufficient for a subsequent transaction period.
[0013] Therefore, the system and methods of the present disclosure attempt to solve this problem with conventional white balance correction methods by performing an automatic white balance correction. In general, the system and methods described herein perform an independent white balance correction for images captured by the color camera throughout the day, based on a calibration range identified in each image. The calibration range includes a calibration zone that is analyzed to determine the degree of white balance correction required for the captured image.
[0014] In this way, the system and methods of the present disclosure overcome the limitations of conventional methods by eliminating the sensitivity of the white balance calibration to ambient light. In other words, changing ambient light conditions no longer systematically affect the resulting color representation of a captured image, since the white balance calibration is performed at different times during a given day.
[0015] Performing an automatic white balance correction according to the methods of the present disclosure increases the accuracy of object identification performed by an imaging system, which can enhance the effectiveness of other corresponding functions. For example, an imaging system attempting to detect ticket swapping (i.e., replacing the label of a product with the label of a cheaper product in order to purchase the product at the lower price) will be increasingly able to make this determination if the image representing the object in the field of view (FOV) of the color camera has an accurate color representation.
[0016] Fig. Figure 1A shows a perspective view of a point-of-sale (POS) system 100 with a workstation 102 comprising a counter 104, a bi-optic (also called "bioptic") barcode reader 106, and an additional camera 107 positioned at least partially within the workstation 102. The camera 107 can be referred to as an image capture assembly and can be configured as a color camera or as a camera configured to capture non-barcode data. The POS system 100 is often operated by an employee, such as a salesperson 108. In other cases, however, the POS system 100 may be part of a so-called self-checkout lane, where a customer, rather than an employee, is responsible for checking out their own products.
[0017] The barcode reader 106 comprises a lower housing 112 and an elevated housing 114. The lower housing 112 can be referred to as a first housing part, and the elevated housing 114 as a tower or a second housing part. The lower housing 112 includes an upper part 116 with a first optically transparent window 118 arranged therein along a generally horizontal plane with respect to the overall configuration and placement of the barcode reader 106. In some embodiments, the upper part 116 may include a removable or non-removable plate (e.g., a weighing plate). The upper part 116 may also be considered to be arranged substantially parallel to the surface of the counter 104. As set forth herein, the expression "substantially parallel" means + / - 10° of parallelism and / or accounts for manufacturing tolerances. It is worth noting that, while in Fig. 1. While the counter 104 and the upper part 116 are depicted as approximately coplanar, this need not be the case, so the plate and the counter 104 can be considered substantially parallel. In some cases, the counter 104 can be raised or lowered relative to the upper surface of the upper part 116, with the upper part 116 still being considered to be positioned substantially parallel to the surface of the counter 104. The raised housing 114 is configured to extend over the upper part 116 and contains a second optically transparent window 120, which is arranged in a generally upright plane relative to the upper part 116 and / or the first optically transparent window 118. It should be noted that the term "upright" also means vertical, but is not limited to this. For example, something that is upright can deviate from a vertical axis / plane by up to 45 degrees.
[0018] In practice, a product 122, such as a bottle, is moved past the barcode reader 106 so that a barcode 124 associated with the product 122 is digitally read through at least one of the first and second optically transparent windows 118, 120. This is achieved, in particular, by positioning the product 122 within the field of view (FOV) of the digital image sensor(s) located in the barcode reader 106. As the product 122 is moved past the barcode reader 106, the camera 107 captures image data of the product 122. The image data captured by the camera 107 can be used for various purposes. For example, the image data can be processed to verify whether the scanned product 122 matches the barcode 124, and / or the image data can be used to populate a database.
[0019] Fig. Figure 1B is a block diagram illustrating an operational embodiment 130 of an example system 132 according to various embodiments of the present disclosure. The operational embodiment 130 further comprises a target object 134 and a user interface 136. The user interface 136 is communicatively connected to the example system 132. The example system 132 comprises a primary imager 138, a secondary imager 140, and a controller 142. The controller 142 includes a processor 144 and a memory 146 (although a "processor" and a "memory" are mentioned here, there may be one or more processors and / or one or more memories). The target object 134 includes a calibration area 148 and a calibration zone 150.
[0020] The primary image sensor 138 is configured to capture a first image of the target object 134. The first image contains the calibration area 148, which is defined by a symbology captured in the first image. The first image also contains the calibration zone 150 within the calibration area 148. The symbology encodes data within this zone and has primary color elements and secondary color elements. The calibration zone 150 is defined by at least some of the primary color elements and the secondary color elements. According to the invention, the primary image sensor 138 is a monochromatic camera, and the first image is a monochromatic image.
[0021] In certain embodiments, the calibration area 148 comprises a barcode, and the calibration zone 150 is at least one of (i) one or more secondary color elements of the barcode and (ii) a quiet zone surrounding the barcode (e.g., all or part of the blank border on either side of a barcode that defines the beginning and end of the readable symbology of a barcode). The calibration zone 150 may, for example, include one or more white bars of the barcode contained within the calibration area 148. The calibration zone 150 may also be all or part of the quiet zone surrounding the barcode.
[0022] In some embodiments, the calibration area 148 comprises one of (i) a product label, (ii) a logo, or (iii) a text box, and the calibration zone 150 is at least one of (i) a quiet zone surrounding the calibration area 148, and (ii) one or more secondary color elements within the calibration area 148. For illustration, the calibration zone 150 may be a quiet zone surrounding one or more substantially white areas within (i) a product label, (ii) a logo, or (iii) a text box on the target object. However, the one or more secondary color elements may be of any color, such that the secondary color elements contrast with the primary color elements to any degree.
[0023] The secondary image sensor 140 is configured to capture a second image of the target object 134. The second image is a multicolor image. According to the invention, the secondary image sensor 140 is a color camera.
[0024] The controller 142 is communicatively connected to the primary image sensor 138 and the secondary image sensor 140. The controller 142 is configured to determine the location of the calibration area 148 from the first image. For example, and in certain embodiments, the controller 142 can obtain the location of the calibration area 148 in the first image by overlaying a coordinate system on the first image and assigning a specific coordinate position within the first image to the calibration area.
[0025] The controller 142 is further configured to locate the calibration area 148 in the second image based on the position obtained from the first image. In certain embodiments, the controller 142 is configured to locate the calibration area 148 in the second image based on a known displacement between the primary image sensor 138 and the secondary image sensor 140. For example, in the example system 132, the primary image sensor 138 and the secondary image sensor 140 may be physically separated by a known displacement, resulting in a corresponding displacement of the field of view. Accordingly, the position obtained by the controller 142 from the first image would have to be transferred to the second image based on the known displacement between the image sensors.
[0026] The controller 142 is further configured to analyze calibration zone 150 within calibration range 148 in the second image and, based on the analyzed calibration zone 150, calculate at least one white balance compensation distortion (i.e., an amount, degree, or other specification of a change in the color representation of an image to bring the color representation of the image closer to that characteristic of natural light). In other words, since the second image is a multicolor image, the controller 142 calculates the at least one white balance compensation distortion based on the second image to determine how much the multicolor image should be adjusted.
[0027] The controller 142 is further configured to apply the at least one white balance compensation distortion to at least one of the second images and the at least one subsequent image. For example, and in certain embodiments, the controller then compares the at least one of the second images and the at least one subsequent image with a predetermined color profile. The predetermined color profile comprises at least one of (i) a red-green-blue (RGB) color scheme, (ii) a luminance-chrominance (YUV) color scheme, (iii) a hue-saturation-brightness (HSL) color scheme, (iv) a hue-saturation value (HSV) color scheme, (v) a tristimulus value (CIE) color scheme, and (vi) a cyan-magenta-yellow-black (CMYK) color scheme.Finally, the controller 142 checks whether one or more colors contained in at least one of the second image and at least one subsequent image meet a white balance compensation distortion threshold, based on one or more corresponding colors contained in the predetermined color profile.
[0028] In some embodiments, the controller 142 is further configured to capture at least one subsequent image of the target object. In these embodiments, the at least one subsequent image is a multicolor image. Furthermore, the at least one subsequent image comprises a set of images captured during a presentation of a plurality of target objects (e.g., target object 134). Each of the plurality of target objects is presented within a field of view of either the primary image sensor 138 or the secondary image sensor 140 for a predetermined duration.
[0029] To illustrate, a customer can purchase four items at a POS terminal (e.g., POS system 100). When the first item is scanned, the primary imager 138 can capture the first image, and the secondary imager 140 can capture the second image. At least one subsequent image can be of the first, second, third, or fourth item purchased after the first and second images have been captured.
[0030] Furthermore, each of the purchased items (e.g., the second, third, fourth) can be presented sequentially within the field of view (FOV) of either the primary or secondary image generator 138, 140, such that the duration between each successive scan does not exceed the predetermined time interval. If, in this example, the second item is scanned soon enough after the first item (e.g., within the predetermined time interval), the example system 132 can apply the same white balance correction distortion to the at least one subsequent image (of the second item) that was calculated based on the second image (of the first item). However, if the second item is scanned long enough after the first item (e.g.,(outside the predetermined duration), then the example system 132 can calculate a white balance correction distortion based on the at least one subsequent image, instead of using the white balance correction distortion calculated based on the second image.
[0031] For example, the system (e.g., example system 132) can have a proximity sensor to detect products entering the field of view (FOV) 138, 140 of an image sensor. The system can also have a standby period, defined by a predetermined duration between the detection of a product by the proximity sensor in either of the two FOVs of the image sensor 138, 140. This allows the system to automatically reset the white balance compensation distortion when the predetermined duration is exceeded and calculate a new white balance compensation distortion based on images acquired the next time the proximity sensor detects a product entering the field of view of either of the two image sensors 138, 140.
[0032] The controller 142 is then further configured to apply the at least one white balance compensation distortion to the at least one subsequent image. The controller 142 then compares the at least one subsequent image to a predetermined color profile that includes at least one of (i) an RGB color scheme, (ii) a YLJV color scheme, (iii) an HSL color scheme, (iv) an HSV color scheme, (v) a CIE color scheme, and (vi) a CMYK color scheme. Finally, the controller 142 checks whether one or more colors contained in the at least one subsequent image meet a white balance compensation distortion threshold, based on one or more corresponding colors contained in the predetermined color profile.
[0033] In some embodiments, the controller 142 is further configured to analyze a plurality of previous calibration zones. The controller 142 then determines at least one composite white balance compensation distortion from the plurality of previous calibration zones. Finally, the controller 142 applies the at least one composite white balance compensation distortion to at least one of the second image and the at least one subsequent image.
[0034] In these embodiments, the previous calibration zones can, for example, be included in second images acquired by the secondary image sensor 140 of different target objects (e.g., target object 134). The controller 142 can determine the at least one composite white balance compensation distortion by averaging the individual white balance compensation distortions associated with each of the multiple previous calibration zones. Additionally or alternatively, in these embodiments, the controller 142 can determine the at least one composite white balance compensation distortion by performing a weighted average, mean, median, or other suitable calculation or combination of calculations with respect to the individual white balance compensation distortions associated with each of the multiple previous calibration zones.
[0035] In some embodiments, the controller 142 is further configured to receive at least one white balance compensation distortion. The controller 142 then applies the at least one previous white balance compensation distortion to the second image. For example, a user may want to apply a previous white balance compensation distortion for a specific and / or predefined period. Furthermore, a user may want to apply a consistent white balance compensation distortion to a series of images acquired during an imaging sequence (e.g., a multitude of images acquired over a duration of 1 second using an imaging system with 60 frames per second (FPS)). In these embodiments, the controller 142 can therefore receive at least one previous white balance compensation distortion from a second image acquired by the secondary imager 140 and depicting a target object (e.g., a device).the target object 134) shows after the at least one white balance compensation distortion has been calculated based on the analyzed calibration zone 118.
[0036] Fig. Figure 2 shows a shifted image sensor configuration according to an embodiment of the example system 132 of Fig. 1B. As in Fig. As shown in Figure 2, the example system 132 comprises the primary image sensor 138 and the secondary image sensor 140, which are separated by a known displacement 202. The example system 132 also includes a scanning disk 204.
[0037] As explained below, the known displacement 202 represents a physical distance between the primary image sensor 138 and the secondary image sensor 140. This physical distance is important because the primary image sensor 138 and the secondary image sensor 140 capture the first and second images, respectively, from physically different locations when a target object (e.g., the target object 134) is moved across the scanning plate 204. Thus, the first and second images represent two different perspectives of the target object.
[0038] For example, and with reference to operational embodiment 300 of Fig. In step 3, the primary image sensor 138 will have a first FOV of 302, and the secondary image sensor 140 will have a second FOV of 304. When a target object (e.g., target object 134) is moved across the scanning plate 204 and through the first and second FOVs 302 and 304, the primary image sensor 138 and the secondary image sensor 140 acquire the first and second images of the target object, respectively. The controller 142 determines the location of a calibration area 306 from the first image in order to locate the calibration area 306 in the second image. However, the calibration area 306 appears lower in the second FOV than in the first FOV. Therefore, the controller 142 uses the known displacement 202 between the primary image sensor 138 and the secondary image sensor 140 to shift the location of the calibration area 306 obtained from the first image and to locate the calibration area 306 in the second image.
[0039] Furthermore, as further explained herein, the example system 132 can perform the various steps of the procedures of this disclosure, wherein the calibration area is, for example, calibration area 306 (e.g., a barcode), calibration area 308 (e.g., a nutritional information label), calibration area 310 (e.g., a QR (Quick Response) code), or any other suitable calibration area (e.g., a product logo area, a text field, etc.). Each of the calibration areas 306, 308, and 310 can be attached to or associated with a target object (e.g., target object 134).
[0040] It should be understood that, although example system 132, which refers to the Fig. 1-3 described and in the Fig. 2 and Fig. 3 is shown as a bioptic barcode reader, but the systems and procedures described herein are applicable to all other barcode readers, whether stationary or handheld.
[0041] Fig. Figure 4 shows a method 400 for automatic white balance correction of color cameras according to various embodiments disclosed herein. The method 400 begins in block 402, in which, for example, a primary image sensor (e.g., the primary image sensor 138) acquires a first image of a target object, wherein the first image contains a calibration area (e.g., the calibration area 148) defined by a symbology acquired in the first image and a calibration zone (e.g., the calibration zone 150) within the calibration area 148. According to the invention, the first image is acquired by a monochromatic camera, and the first image is a monochromatic image.
[0042] As further explained here, the symbology that defines Calibration Range 148 encodes data and has primary and secondary color elements. For example, the primary color elements can be black bars representing part of the encoding symbology of Calibration Range 148 (e.g., the black bars / gaps of a barcode, nutrition facts label, text box, QR code, product logo area, etc.), and the secondary color elements can be white bars representing another part of the encoding symbology of Calibration Range 148 (e.g., the white bars / gaps of a barcode, nutrition facts label, text box, QR code, product logo area, etc.). Alternatively, the primary and secondary color elements can be any suitable color and / or combination of colors.
[0043] Furthermore, calibration zone 150 is defined by at least some of at least one of the primary color elements and the secondary color elements. For example, calibration zone 150 can be defined by part of a white bar / white gap of a barcode, by part of a black bar / black gap of the barcode, and / or by a combination of white bars, black bars, or any other combination of colors represented in the primary and secondary color elements.
[0044] In certain embodiments, the calibration area 148 comprises a barcode, and the calibration zone 150 is at least one of (i) one or more secondary color elements of the barcode and (ii) a quiet zone surrounding the barcode (e.g., all or part of the blank margin on either side of a barcode that defines the beginning and end of the readable symbology of a barcode). Alternatively, in some embodiments, the calibration area 148 may comprise one of (i) a product label, (ii) a logo, or (iii) a text field, and the calibration zone 150 is at least one of (i) a quiet zone surrounding the calibration area 148 and (ii) one or more secondary color elements within the calibration area 148.
[0045] In block 404, procedure 400 is continued by obtaining a location of the calibration area 148 from the first image. As in Fig. As shown in Figure 3, the primary imager 138 can, for example, capture the first image, which contains a product label (e.g., a nutrition facts label 308). The controller (e.g., the processor 144) can then obtain the location of the calibration area 148 from the first image by identifying the location of the product label within the first image. For illustration, if the product label is located in the lower left corner of the first image, the processor 144 can identify the location of the calibration area 148 as being in the lower left corner of the first image. It should be understood that the processor 144 can identify the location of the calibration area 148 without decoding, interpreting, or otherwise analyzing the contents of the calibration area 148. For example, if the calibration area 148 is a barcode (e.g.,Calibration range 306), the processor 144 can identify the barcode without decoding the information contained in the barcode.
[0046] Furthermore, after identification, the processor 144 can assign a location identifier to the calibration area 148 so that it can be located in subsequent images (e.g., the second image acquired by the secondary image sensor 140). For example, and in some embodiments, the processor 144 can assign a coordinate position to the identified location of the calibration area. Block 404, for example, can be located by the processor 144 of the example system 132 in Fig. 1B will be executed.
[0047] In block 406, the method 400 is continued by capturing a second image of the target object. The second image is a multicolor image, and according to the invention, the second image is captured by a color camera (e.g., the secondary image sensor 140). In certain embodiments, the primary image sensor and the color camera also capture the first image and the second image either (i) simultaneously or (ii) sequentially. Block 404 can, for example, be captured by the secondary image sensor 140 of the example system 132 in Fig. 1B will be executed.
[0048] In block 408, procedure 400 continues by locating the calibration area 148 in the second image based on the location obtained from the first image. As mentioned in block 404, processor 144 refers, for example, to the location information obtained from the first image (e.g., calibration area 148 is located in the lower left corner of the first image) to locate the calibration area 148 in the second image. Processor 144 can locate the calibration area in the second image by first analyzing the same area of the second image where calibration area 148 was located in the first image. If processor 144 cannot locate calibration area 148 in the second image by analyzing the same location where calibration area 148 was located in the first image, processor 144 can adjust its analysis area accordingly (e.g.,(Extend / shrink the analysis area, move the analysis area, or any combination thereof) to locate calibration area 148 in the second image. Block 408 can, for example, be located by processor 144 of example system 132 in . Fig. 1B will be executed.
[0049] In certain embodiments, however, the primary image sensor 138 and the secondary image sensor 140 may be physically separated by a known displacement (e.g., known displacement 202). In this case, the processor 144 may be pre-programmed to adjust the analysis area based on the known displacement 202. For example, if the primary image sensor 138 is located three inches above or below the secondary image sensor 140, the processor 144 may be pre-programmed to automatically shift the analysis area to account for the three-inch distance between the cameras when the calibration area 148 is positioned in certain imaging planes.
[0050] In block 410, procedure 400 continues by analyzing calibration zone 150 within calibration area 148. For example, processor 144 can analyze at least some of the at least one first-color elements and second-color elements that define calibration zone 150. Processor 144 can analyze only the first-color elements, only the second-color elements, or any combination of the first-color elements and / or the second-color elements. For example, block 410 can be performed by processor 144 of example system 132 in Fig. 1B will be executed.
[0051] In block 412, procedure 400 is continued by calculating at least one white balance compensation distortion based on the analyzed calibration zone 150. For example, processor 144 can use white balance compensation distortion logic to calculate the at least one white balance compensation distortion. Block 412 can, for example, be executed by processor 144 of example system 132 in Fig. 1B will be executed.
[0052] In block 414, procedure 400 is continued by applying the at least one white balance compensation distortion to at least one of the second images and at least one subsequent image. For example, processor 144 can apply the at least one white balance compensation distortion to at least one of the second images and at least one subsequent image to adjust the primary colors contained in the second image. Applying the at least one white balance compensation distortion to the primary colors of at least one of the second images and at least one subsequent image results in a more accurate color representation of the primary colors in at least one of the second images and at least one subsequent image.In this way, processor 144 achieves higher image quality after applying at least one white balance compensation distortion to at least one of the second images and at least one subsequent image. Block 414, for example, can be processed by processor 144 of example system 132 in . Fig. 1B will be executed.
[0053] In optional block 416, method 400 is continued by comparing at least one of the second image and at least one subsequent image with a predetermined color profile. In certain embodiments, the predetermined color profile comprises at least one of (i) an RGB color scheme, (ii) a YUV color scheme, (iii) an HSL color scheme, (iv) an HSV color scheme, (v) a CIE color scheme, and (vi) a CMYK color scheme. For example, memory 146 can store a predetermined color profile with which all color images captured by the secondary image sensor 140 are compared. Processor 144 can then access this predetermined color profile and compare the colors contained in at least one of the second image and at least one subsequent image with the predetermined color profile. Optional block 416 can, for example, be accessed by processor 144 of example system 132 in Fig. 1B will be executed.
[0054] In optional block 418, procedure 400 continues by checking whether the one or more colors contained in the at least one of the second images and the at least one subsequent image meet a white balance compensation distortion threshold, based on one or more corresponding colors contained in the predetermined color profile. For example, based on a comparison of the colors contained in the second image, processor 144 can determine that one or more of the colors in the second image do not meet the white balance compensation distortion threshold. In this case, processor 144 can determine that the second image is not of sufficient quality to perform object detection. Processor 144 can then determine that the secondary image sensor 140 should acquire the at least one subsequent image, so that controller 142 sends an image acquisition signal to secondary image sensor 140.The optional block 418 can be used, for example, by processor 144 of example system 132 in . Fig. 1B will be executed.
[0055] If, based on a comparison of the colors contained in the second image with the predetermined color profile, the processor 144 determines that one or more of the colors in the second image meet the white balance compensation distortion threshold, the processor 144 can alternatively perform object recognition using the second image.
[0056] In certain embodiments, the method 400 further comprises the acquisition of at least one subsequent image of the target object by the secondary image sensor 140. The at least one subsequent image is a multicolor image. In these embodiments, the processor 144 applies the at least one white balance compensation distortion to the at least one subsequent image and compares the at least one subsequent image to a predetermined color profile. The predetermined color profile comprises at least one of (i) an RGB color scheme, (ii) a YUV color scheme, (iii) an HSL color scheme, (iv) an HSV color scheme, (v) a CIE color scheme, and (vi) a CMYK color scheme. The processor 144 also checks whether one or more colors contained in the at least one subsequent image meet a white balance compensation distortion threshold, based on one or more corresponding colors contained in the predetermined color profile.
[0057] Under certain circumstances, for example, a user may need to apply the at least one white balance compensation distortion to at least one subsequent image. For example, if the processor 144 determines that one or more colors in the second image do not meet the white balance compensation distortion threshold, the processor 144 can instruct the secondary image generator 140 to capture the at least one subsequent image of the target object. To save processing time, the processor 144 might not calculate the at least one white balance compensation distortion for the at least one subsequent image, since the at least one subsequent image captures the same target object as the second image. Thus, the at least one white balance compensation distortion calculated for the second image might be sufficient for the at least one subsequent image.The controller 142 would then instruct the processor 144 to apply the at least one white balance compensation distortion calculated for the second image to the at least one subsequent image.
[0058] In some embodiments, the method 400 further comprises analyzing a plurality of previous calibration zones. The plurality of previous calibration zones may be contained in one or more first or second images and may or may not be associated with the same target object. The processor 144 then determines at least one composite white balance compensation distortion from the plurality of previous calibration zones and applies the at least one composite white balance compensation distortion to at least one of the second images and at least one subsequent image.
[0059] Under certain circumstances, for example, a user may need to apply a previous white balance compensation distortion to a current second image. To illustrate, if the processor 144 determines that one or more colors in the second image do not meet the white balance compensation distortion threshold, and the secondary image sensor 140 is unable to acquire a second image of the target object that meets the threshold after a certain number of attempts, the controller 142 can instruct the processor 144 to apply at least one compound white balance compensation distortion to the second image.
[0060] If the second image of the target object indicates that the primary color elements and / or the secondary color elements are insufficient to perform an accurate white balance compensation analysis (i.e., the primary / secondary color elements are not white, beige, cream, or any other non-white color that would distort the white balance compensation analysis), the controller 142 may additionally or alternatively instruct the processor 144 to apply at least one compound white balance compensation distortion (i.e., a prior white balance compensation distortion based on at least one of the primary / secondary color elements being substantially white in order to produce an unadulterated white balance compensation analysis) to at least one of the second image and at least one subsequent image.The processor 144 can also use a predetermined automatic white balance stored in memory 146 if the processor 144 determines that the primary color elements and / or the secondary color elements of the second image are insufficient to perform an accurate white balance compensation analysis.
[0061] In some embodiments, the method 400 further comprises preserving at least one previous white balance compensation distortion. The processor 144 can then apply the at least one previous white balance compensation distortion to at least one of the second image or the at least one subsequent image.
[0062] Under certain circumstances, and as described herein, a user may need to apply a previous white balance compensation distortion to a current second image. For example, if the processor 144 determines that one or more colors contained in the second image do not meet the white balance compensation distortion threshold, and the secondary image sensor 140 is unable to acquire a second image of the target object that meets the threshold after a certain number of attempts, the controller 142 can instruct the processor 144 to apply the at least one previous white balance compensation distortion to at least one of the second images and at least one subsequent image.
[0063] Fig. Figure 5 discloses a method 500 for automatically adjusting the contrast difference of color cameras according to various embodiments disclosed herein. The method 500 begins in block 502, where, for example, a primary image sensor (e.g., the primary image sensor 138) acquires a first image of a target object (e.g., the target object 134). The first image contains a calibration area (e.g., the calibration area 148) defined by a symbology acquired in the first image and a calibration zone (e.g., the calibration zone 150) within the calibration area 148. The symbology encodes data and has first-color elements and second-color elements. The calibration zone 150 is defined by at least some of at least one of the first-color elements and the second-color elements. Block 502 can, for example, be accessed by the primary image sensor 138 of the example system 132 in Fig. 1B will be executed.
[0064] In block 504, procedure 500 is continued by obtaining a location of the calibration area 148 from the first image. Block 504 can, for example, be executed by the processor 144 of the controller 102 of the example system in Fig. 1B will be executed.
[0065] In block 506, procedure 500 continues by capturing a second image of the target object. The second image is a multicolor image. Block 506 can, for example, be generated by the secondary image sensor 140 of the example system 132 in Fig. 1B will be carried out.
[0066] In block 508, procedure 500 is continued by locating the calibration area 148 in the second image based on the position obtained from the first image. Block 508 can, for example, be performed by processor 144 of example system 132 in Fig. 1B will be executed.
[0067] In block 510, procedure 500 is continued by analyzing the calibration zone 150 within the calibration area 148 of the second image. Block 510 can be performed, for example, by processor 144 of example system 132 in Fig. 1B will be carried out.
[0068] In block 512, the procedure 500 is continued by calculating at least one contrast difference compensation distortion based on the analyzed calibration zone 150. In certain embodiments, the at least one contrast difference compensation distortion corresponds to at least one of (i) white balance and (ii) contrast. For example, the processor 144 can calculate a contrast difference compensation distortion based on a detected contrast of the calibration zone 150. If the calibration zone 150 is a conventional black-and-white barcode (e.g., a calibration zone in the calibration area 306) and the calibration zone 150 has low contrast, this may indicate that the contrast of the second image needs to be substantially adjusted.Therefore, processor 144 can calculate the at least one contrast difference compensation distortion so that it is relatively high to account for the low contrast observed in calibration zone 150. If processor 144 observes a contrast corresponding to calibration zone 150 that is higher than normally expected, processor 144 can calculate the at least one contrast difference compensation distortion so that it is relatively low to account for the high contrast observed in calibration zone 150. Block 512, for example, can be calculated by processor 144 of example system 132 in . Fig. 1B will be executed.
[0069] In block 514, the procedure 500 is continued by applying the at least one contrast difference compensation distortion to at least one of the second images and the at least one subsequent image. Block 514 can, for example, be executed by the processor 144 of the example system 132 in Fig. 1B will be executed.
[0070] It is understood that the described steps for each of the methods disclosed herein can be performed in any order or repeated any number of times to achieve the desired result. Furthermore, the steps described for each method can be performed by at least one component of the example system 132 and / or components of embodiment 130.
[0071] The data or information acquired by the primary image sensor 138 and / or the secondary image sensor 140 can be transmitted to POS stations (including, for example, the user interface 136), servers, or other processing devices for a variety of purposes, including, for example, product purchases, data storage, inventory management, etc. Example system 132 includes a cable interface for transmitting such data or information. In various embodiments, example system 132 can support multiple data transmission interfaces, such as USB, standard RS-232, IBM 468X / 469X, Simple Serial Interface (SSI), or other similar data transmission interface standards.
[0072] Specific embodiments have been described in the foregoing description. However, a person skilled in the art will recognize that various modifications and changes can be made without altering the scope of protection of the invention as defined in the claims below. Accordingly, the description and figures are to be considered illustrative rather than limiting, and all such modifications are to be included within the scope of the present teachings. Furthermore, the described embodiments / examples / implementations are not to be understood as mutually exclusive, but rather as potentially combinable if such combinations are in any way permissive.In other words, any feature disclosed in one of the aforementioned embodiments / examples / implementations may be included in any of the other aforementioned embodiments / examples / implementations.
[0073] The benefits, advantages, solutions to problems, and all elements that may lead to the occurrence or enhancement of a benefit, advantage, or solution are not to be understood as critical, necessary, or essential features or elements in some or all of the claims. The invention is defined solely by the attached claims, including any amendments made during the pendency of this application and all equivalents of the granted claims.
[0074] Furthermore, in this document, relational terms such as first and second, upper and lower, and the like may be used merely to distinguish one entity or action from another, without necessarily requiring or implying any actual relationship or order of such an entity or action between such entities or actions. The expressions "includes," "comprising," "has," "have," "exhibits," "exhibiting," "contains," "containing," or any other variation thereof are intended to cover non-exclusive inclusion, such that a process, procedure, product, or device that includes, has, exhibits, or contains a list of elements may not only have those elements but may also have other elements not expressly listed or inherent in such process, procedure, product, or device. An element that "includes," "has," "exhibits," or "contains"The use of the term "a" does not, without further limitations, preclude the existence of additional identical elements in the process, method, product, or device that comprises, has, features, or contains the element. The terms "a" and "a" are defined as one or more unless expressly stated otherwise herein. The terms "essentially," "generally," "approximately," "about," or any other version thereof are defined in such a way as to be understood by a person skilled in the art in this field, and in one non-restrictive embodiment, the expression is defined as within 10%, in another embodiment as within 5%, in yet another embodiment as within 1%, and in yet another embodiment as within 0.5%. The term "coupled," as used herein, is defined as connected, but not necessarily directly and not necessarily mechanically.A device or structure that is “configured” in a certain way is at least also configured in that way, but may also be configured in ways that are not listed.
[0075] It is understood that some embodiments may include one or more generic or specialized processors (or “processing devices”) such as microprocessors, digital signal processors, custom processors, and field-programmable gate arrays (FPGAs), and uniquely 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 of the functions may be implemented by a state machine that does not have any stored program instructions, or in one or more application-specific integrated circuits (ASICs) in which each function, or some combinations of certain functions, are implemented as user-defined logic.Of course, a combination of the two approaches can be used.
[0076] Furthermore, an embodiment may be implemented as a computer-readable storage medium on which computer-readable code is stored for programming a computer (which, for example, includes a processor) to execute a method as 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).Furthermore, it is assumed that an average professional, regardless of possible significant effort and many design choices motivated, for example, by available time, current technology, and economic considerations, will be readily able to generate such software instructions, programs, and ICs with minimal experimentation if guided by the concepts and principles disclosed herein.
[0077] The summary of the disclosure is provided to enable the reader to quickly ascertain the essence of the technical disclosure. It is provided with the understanding that it is not intended to be used for interpreting or limiting the scope or meaning of the claims. Furthermore, it can be inferred from the preceding detailed description that various features in different embodiments have been summarized for the purpose of streamlining the disclosure. This type of disclosure is not to be interpreted as reflecting the intention that the claimed embodiments require more features than are expressly stated in each claim. Rather, as the following claims demonstrate, the inventive step lies in fewer than all the features of a single disclosed embodiment.The following claims are hereby incorporated into the detailed description, each claim being a separately claimed subject matter.
Claims
[1] A method for automatic white balance correction of color cameras, comprising: Acquiring (402) a first image of a target object (134), the first image comprising a calibration region (148) defined by a symbology acquired within the first image and a calibration zone (150) within the calibration region (148), the symbology encoding data therein, the symbology comprising first color elements and second color elements, the calibration zone (150) being defined by at least some of the first color elements and / or the second color elements, the first image being acquired by a monochromatic camera and being a monochromatic image; Obtaining (404) a location of the calibration region (148) from the first image; capturing (406) a second image of the target object (134), wherein the second image is a multi-color image, and wherein the second image is captured by a color camera; locating (408) the calibration region (148) in the second image based on the location obtained from the first image; Analyzing (410) the calibration zone (150) within the calibration area (148) in the second image; and Calculating (412) at least one white balance compensation distortion based on the analyzed calibration zone (150); and Applying (414) the at least one white balance compensation distortion to at least one of the second image and at least one subsequent image. [2] The method of claim 1, wherein: the first image and the second image are acquired either (i) simultaneously or (ii) sequentially, wherein the calibration zone (150) in the second image is located based on a known displacement (202) between the color camera and the monochromatic camera, and the location of the calibration region (148) is a coordinate position of the calibration region (148). [3] The method of claim 2, wherein the at least one subsequent image comprises a set of images acquired during a presentation of a plurality of target objects (134), each of the plurality of targets being presented within a field of view (302, 304) of either the monochromatic camera or the color camera within a predetermined duration. [4] The method of claim 1, wherein the calibration region (148) comprises a barcode and the calibration zone (150) is at least one of (i) one or more secondary color elements of the barcode and (ii) a quiet zone surrounding the barcode. [5] The method of claim 1, wherein the calibration area (148) comprises one of (i) a product label, (ii) a logo, or (iii) a text field, and the calibration zone (150) is at least one of (i) a quiet zone surrounding the calibration area (148), and (ii) one or more secondary color elements within the calibration area (148). [6] The method of claim 1, further comprising: applying the at least one white balance compensation distortion to at least one of the second image and the at least one subsequent image; Comparing the at least one of the second image and the at least one subsequent image to a predetermined color profile, wherein the predetermined color profile comprises at least one of (i) a red-green-blue (RGB) color scheme, (ii) a luminance-chrominance (YUV) color scheme, (iii) a hue-saturation-lightness (HSL) color scheme, (iv) a hue-saturation-value (HSV) color scheme, (v) a tristimulus value (CIE) color scheme, and (vi) a cyan-magenta-yellow-black (CMYK) color scheme; and Verifying that one or more colors included in the at least one of the second image and the at least one subsequent image satisfy a white balance compensation distortion threshold based on one or more corresponding colors included in the predetermined color profile. [7] The method of claim 1, further comprising: capturing the at least one subsequent image of the target object (134), wherein the at least one subsequent image is a multi-color image; applying the at least one white balance compensation distortion to the at least one subsequent image; Comparing the at least one subsequent image with a predetermined color profile, wherein the predetermined color profile comprises at least one of (i) a red-green-blue (RGB) color scheme, (ii) a luminance-chrominance (YUV) color scheme, (iii) a hue-saturation-lightness (HSL) color scheme, (iv) a hue-saturation-value (HSV) color scheme, (v) a tristimulus value (CIE) color scheme, and (vi) a cyan-magenta-yellow-black (CMYK) color scheme; and Verifying that one or more colors included in the at least one subsequent image satisfy a white balance compensation distortion threshold based on one or more corresponding colors included in the predetermined color profile. [8] The method of claim 1, further comprising: Analyze a variety of previous calibration zones; Determining at least one composite white balance compensation distortion from the plurality of previous calibration zones; and Applying the at least one composite white balance compensation distortion to the at least one of the second image and the at least one subsequent image. [9] The method of claim 1, further comprising: Retain at least one previous white balance compensation distortion; Applying the at least one prior white balance compensation distortion to the at least one of the second image and the at least one subsequent image. [10] System for automatic white balance correction of color cameras, comprising: a primary imager (138) configured to capture a first image of a target object (134), the first image including a calibration region (148) defined by a symbology captured in the first image and a calibration zone (150) within the calibration region (148), the symbology encoding data therein, the symbology comprising first color elements and second color elements, the calibration zone (150) being defined by at least some of the first color elements and / or the second color elements, the primary imager (138) being a monochromatic camera, and the first image being a monochromatic image; a secondary imager (140) configured to capture a second image of the target object (134), wherein the second image is a multi-color image, and wherein the secondary imager (140) is a color camera; and a controller (142) communicatively coupled to the primary imager (138) and the secondary imager (140), the controller (142) being configured to: obtaining a location of the calibration region (148) from the first image; locate the calibration region (148) in the second image based on the location obtained from the first image; to analyze the calibration zone (150) within the calibration area (148) in the second image; and calculate at least one white balance compensation distortion based on the analyzed calibration zone (150); and to apply the at least one white balance compensation distortion to at least one of the second image and at least one subsequent image. [11] The system of claim 10, wherein: the primary imager (138) and the secondary imager (140) acquire the first image and the second image either (i) simultaneously or (ii) sequentially, wherein the calibration region (148) is located in the second image based on a known displacement (202) between the primary imager (138) and the secondary imager (140), and wherein the location of the calibration region (148) is a coordinate position of the calibration region (148). [12] The system of claim 11, wherein the at least one subsequent image includes a set of images acquired during a presentation of a plurality of target objects (134), each of the plurality of targets being presented within a field of view (302, 304) of either the primary imager (138) or the secondary imager (140) within a predetermined duration. [13] The system of claim 10, wherein the calibration region (148) comprises a barcode and the calibration zone (150) is at least one of (i) one or more secondary color elements of the barcode and (ii) a quiet zone surrounding the barcode. [14] The system of claim 10, wherein the calibration area (148) comprises one of (i) a product label, (ii) a logo, or (iii) a text field, and the calibration zone (150) is at least one of (i) a quiet zone surrounding the calibration area (148), and (ii) one or more secondary color elements within the calibration area (148). [15] The system of claim 10, wherein the controller (142) is further configured to: apply the at least one white balance compensation distortion to at least one of the second image and the at least one subsequent image; to compare at least one of the second image and the at least one subsequent image to a predetermined color profile, wherein the predetermined color profile comprises at least one of (i) a red-green-blue (RGB) color scheme, (ii) a luminance-chrominance (YUV) color scheme, (iii) a hue-saturation-lightness (HSL) color scheme, (iv) a hue-saturation-value (HSV) color scheme, (v) a tristimulus value (CIE) color scheme, and (vi) a cyan-magenta-yellow-black (CMYK) color scheme; and to check whether one or more colors included in the at least one of the second image and the at least one subsequent image satisfy a white balance compensation distortion threshold based on one or more corresponding colors included in the predetermined color profile. [16] The system of claim 10, wherein the controller (142) is further configured to: to capture the at least one subsequent image of the target object (134), wherein the at least one subsequent image is a multi-color image; apply the at least one white balance compensation distortion to the at least one subsequent image; to compare the at least one subsequent image with a predetermined color profile, wherein the predetermined color profile comprises at least one of (i) a red-green-blue (RGB) color scheme, (ii) a luminance-chrominance (YUV) color scheme, (iii) a hue-saturation-lightness (HSL) color scheme, (iv) a hue-saturation-value (HSV) color scheme, (v) a tristimulus value (CIE) color scheme, and (vi) a cyan-magenta-yellow-black (CMYK) color scheme; and to check whether one or more colors included in the at least one subsequent image satisfy a white balance compensation distortion threshold based on one or more corresponding colors included in the predetermined color profile. [17] The system of claim 10, wherein the controller (142) is further configured to: to analyze a variety of previous calibration zones; to determine at least one composite white balance compensation distortion from the plurality of previous calibration zones; and apply the at least one composite white balance compensation distortion to the at least one of the second image and the at least one subsequent image. [18] The system of claim 10, wherein the controller (142) is further configured to: to obtain at least one previous white balance compensation distortion; apply the at least one previous white balance compensation distortion to the at least one of the second image and the at least one subsequent image. [19] A method for automatically adjusting a contrast difference of color cameras, comprising: Acquiring (502) a first image of a target object (134), the first image comprising a calibration region (148) defined by a symbology acquired within the first image and a calibration zone (150) within the calibration region (148), the symbology encoding data therein, the symbology comprising first color elements and second color elements, the calibration zone (150) being defined by at least some of the first color elements and / or the second color elements; Obtaining (504) a location of the calibration region (148) from the first image; capturing (506) a second image of the target object (134), the second image being a multi-color image; locating (508) the calibration region (148) in the second image based on the location obtained from the first image; analyzing (510) the calibration zone (150) within the calibration area (148) in the second image; and Calculating (512) at least one contrast difference compensation distortion based on the analyzed calibration zone (150); and Applying (514) the at least one contrast difference compensation distortion to at least one of the second image and at least one subsequent image. [20] The method of claim 19, wherein the at least one contrast difference compensation distortion corresponds to at least one of (i) white balance and (ii) contrast.
Citation Information
Patent Citations
Method and arrangement for retrieving information comprised in a barcode
US20110007967A1
System and method for barcode scanning using image calibration
US20120118969A1
Barcode-reading system
US20180121693A1