Method and image capture device - Patents.com
Patent Information
- Application Number
- JP2023554862
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-03-11
- Filing Date
- 2022-02-25
- Publication Date
- 2025-03-03
- Estimated Expiration
- 2042-02-25
AI Technical Summary
Images captured by cameras with ambient and controlled illumination suffer from motion-induced errors due to object movement between frames, complicating accurate ambient light correction.
A method involving capturing multiple primary images over a time window with varying illumination, demodulating subsets of these images to generate ambient light corrected (ALC) images, calculating error values for pairs of ALC images, and selecting the image with minimal error to produce a continuous function, thereby minimizing motion-induced errors.
The method effectively reduces motion-induced errors in ambient light corrected images by dynamically selecting and stitching ALC images with the lowest error, ensuring accurate and consistent image quality.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a method for acquiring an ambient light corrected (ALC) image in which motion errors are minimized, and to an image capture device for acquiring such an ambient light corrected (ALC) image. [Background technology]
[0002] Images captured by a camera or image capture device of an object are often illuminated by ambient light as well as a separate illumination source. To be able to accurately compare images of the same object or to determine the color of the object, the ambient light must be corrected to produce an ambient light corrected image. However, such images are often produced by comparing pixels of the captured images, which introduces errors when there is movement of the object between frames.
[0003] US2016 / 360083 discloses a device and method for capturing video frames using an electronic device to provide enhanced video. A first sub-frame is captured using ambient light, and a second sub-frame is captured using ambient light and a light source under the control of the electronic device. A primary frame is generated based on a combination of the first sub-frame and the second sub-frame. US2016 / 360083 discloses detecting motion of a captured object and correcting the second sub-frame to compensate for the detected motion. Summary of the Invention
[0004] According to a first particular aspect, a method is provided for acquiring ambient light corrected (ALC) images with minimized errors due to motion, the method comprising the steps of capturing a plurality of primary images of an object over a time window, where controlled illumination of the object varies over time, performing ambient light correction on at least a portion of the plurality of primary images to generate a plurality of ALC images, where each ALC image is generated based on demodulating a subset of the plurality of primary images having different controlled illumination, and calculating an error value for pairs of ALC images, where each pair of ALC images comprises a first ALC image and a second ALC image. The step of calculating the error value includes the steps of: comparing each pixel of the first ALC image with a corresponding pixel of the second ALC image to determine a change in intensity for each pixel between the first ALC image and the second ALC image; calculating an error value for the pair of ALC images based on the change in intensity across the pixels; and comparing the error values for each pair of ALC images and selecting the image with the least error from the pair of ALC images having the lowest error value within the time window.
[0005] The first ALC image and the second ALC image are adjacent in time.
[0006] Comparing the error values between each pair of temporally adjacent ALC images and selecting an image from the pair of ALC images having the lowest error value includes interpolating the discrete error values of all temporally adjacent pairs of ALC images calculated within the time window to generate a continuous function over time, where the continuous function defines a minimum error at a minimum error time, and selecting the ALC image generated closest to the minimum error time.
[0007] Calculating an error value for the pair of ALC images based on the change in intensity for each pixel includes one of determining a sum of the absolute change in intensity for each of the plurality of pixels, determining a mean squared deviation of the change in intensity for each of the plurality of pixels, determining an absolute average of the change in intensity for each of the plurality of pixels, or selecting a maximum absolute change in intensity across the plurality of pixels.
[0008] The ALC images for which the error is calculated are ALC sub-images, each ALC sub-image corresponding to a portion of the primary image, and the method further comprises generating a reconstructed ALC image by stitching together a plurality of different error-minimized ALC sub-images.
[0009] The method includes the steps of capturing a plurality of primary images, then defining a corresponding plurality of primary sub-images, and performing feature detection to generate a plurality of ALC sub-images, or performing ambient light correction, then defining a plurality of ALC sub-images from the generated plurality of ALC images, each sub-image including the feature.
[0010] A plurality of primary images are captured successively over a time window, an error value is dynamically calculated in real time, and the time window ends when the error value for the pair of ALC images falls below a predetermined first threshold.
[0011] A plurality of primary images are captured successively over a time window, and an error value is dynamically calculated in real time, the time window ending when the error value falls below a first threshold and then rises above a second threshold that is higher than the first threshold.
[0012] The method includes outputting the selected error-minimized image to a user interface.The method includes outputting error values of the selected error-minimized image to a user interface.
[0013] Determining the change in intensity for each pixel includes determining the change in intensity for each color channel in each pixel and aggregating the change in intensity across the color channels.
[0014] According to a second aspect, there is provided a non-transitory computer readable storage medium comprising computer readable instructions which, when executed by a processor, cause the processor to perform a method according to the first aspect.
[0015] According to a third aspect there is provided a computer program which, when read by a computer, causes the computer to carry out the method according to the first aspect.
[0016] According to a fourth aspect, there is provided an image capture device comprising at least one processor and at least one memory containing computer readable instructions, the at least one processor configured to read the computer readable instructions and cause the device to perform a method according to the first aspect.
[0017] These and other aspects will be apparent from and elucidated with reference to the embodiments described hereinafter.
[0018] Exemplary embodiments will now be described, by way of example only, with reference to the following drawings: [Brief description of the drawings]
[0019] [Figure 1] FIG. 1 illustrates a schematic diagram of an image capture device for obtaining ambient light corrected images with minimized motion errors. [Diagram 2] 4 is a flow chart illustrating steps of a first exemplary method for acquiring an ambient light corrected image with minimized motion induced errors. [Diagram 3] FIG. 2 shows a schematic diagram of steps of a first exemplary method. [Figure 4]10 is a flow chart illustrating steps of a second exemplary method for selecting an error-minimized image from a pair of error-minimized ambient light corrected images. [Diagram 5] 4 is a graph illustrating steps of a second exemplary method. [Figure 6] 10 is a flow chart illustrating steps of a third exemplary method for selecting an ambient light corrected image with minimized error. [Figure 7a] 11 is a flow chart illustrating steps of a first exemplary sub-method for minimizing errors in an ambient light corrected image. [Figure 7b] 11 is a flow chart illustrating steps of a second exemplary sub-method for minimizing errors in an ambient light corrected image. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0020] 1 shows an image capture apparatus 10 comprising an image capture device 12, a light 14, a processor 16, and a memory 18 containing computer readable instructions. Image capture device 12 is connected to processor 16 and configured to capture images of an object 20, in this example a human being, that can be read and processed by processor 16.
[0021] The lights 14 are configured to illuminate the object 20 and are also connected to the processor 16. The lights 14 are configured to emit illumination of variable intensity controlled by the processor 16. In other examples, the lights 14 are connected to and controlled by a separate controller.
[0022] The memory 18 includes computer readable instructions, and the processor 16 is configured to read the computer readable instructions and execute a method for minimizing errors in an ambient light corrected (ALC) image.
[0023] Figure 2 is a flow chart showing the steps of a first exemplary method 100 for acquiring an ALC image with minimized motion errors, and Figure 3 shows the steps of the method with respect to output of the captured and processed image.
[0024] At block 102, the method comprises capturing a number of primary images 30 of the object 20 over a time window 32 illuminated by the lights 14, the illumination of which is controlled to vary over time. In Figure 3, the passage of time is represented by arrows 34. Each primary image 30 includes a number of pixels 50, each having a pixel index corresponding to the location of the pixel 50 in the image and a pixel value defining the intensity of light captured at that pixel 50.
[0025] Following block 102, in block 104, the method 100 includes performing ambient light correction on at least a portion of the multiple primary images 30 to generate multiple ALC images 36. Ambient light correction of the primary images 30 includes adjusting the intensity of pixels 50 in the captured primary images 30 to correct for ambient light illuminating the object 20. To generate the ALC images 36, a subset of the primary images 30 captured with different controlled illumination can be demodulated. In a simplified example of ambient light correction by demodulation, a first primary image is captured with the lights switched on to illuminate the object, and a second primary image is captured with the lights switched off so that only ambient light illuminates the object. For each pixel of the first primary image, the intensity of the second primary image at that pixel can be subtracted to generate an ALC pixel, and all of the ALC pixels are combined to generate the ALC image. A more complex example of ambient light correction by demodulation can be found in Kolaman, Amir & Hagege, Rami & Guterman, Hugo, (2014), Light source separation from image sequences of oscillating lights, 2014, IEEE 28th Convention of Electrical and Electronics Engineers in Israel, IEEEI.2014, 1-5.10.1109 / EEEI.2014, 7005874, or in a further example where the time-varying signal for each pixel in the image sequence is multiplied by a modulation function related to a periodically varying controlled active illumination, followed by a low-pass filter operation, resulting in a periodically varying amplitude of the incident light. This amplitude is proportional to the amount of light reflection by the object and is used to extract the ALC image with the ambient light intensity or amplitude removed.
[0026] In this example, each ALC image 36 is generated based on demodulating a pair of temporally adjacent primary images 30. In other words, the subset of primary images 30 demodulated to generate a single ALC image 36 includes two primary images 30. Thus, each primary image 30 is used in generating two temporally adjacent ALC images 36. In other examples, each ALC image is generated based on demodulating three or more primary images.
[0027] In this example, each ALC image 36 is generated from a subset of primary images 30 that is offset by one primary image 30 from the previous subset of primary images 30 used to generate another ALC image 36. In other examples, there may be more than one offset of primary images for each subset of primary images.
[0028] In the example shown in FIG. 3, six primary images 30 are captured and each pair of temporally adjacent primary images 30 are demodulated to produce five ALC images 36 .
[0029] The ALC image 36 generated by demodulating the two or more primary images 30 may have errors caused by the movement of the object 20 while the two or more primary images 30 were captured. The next step of the method 100 is to select the ALC image 36 with the lowest error from the multiple ALC images 36.
[0030] At block 106, the method 100 includes calculating an error value 38 for the pair of ALC images 36. The calculation of the error value 38 for the pair of ALC images 36 is described below with reference to a single pair of ALC images 36 including a first ALC image 36a and a second ALC image 36b to calculate the error value E1, as shown in Figure 3. It will be appreciated that these steps can be repeated for every pair of ALC images 36 for which an error value 38 is to be calculated.
[0031] In this example, the first ALC image 36a is temporally adjacent to the second ALC image 36b. In other examples, the error value may be calculated for pairs of ALC images that are not temporally adjacent.
[0032] Block 106 of method 100 includes block 108 and block 110. In block 108, each pixel 50 in the first ALC image 36a is compared to a corresponding pixel 50 having the same pixel index in the second ALC image 36b to determine a change in intensity for each pixel 50 between the first ALC image 36a and the second ALC image 36b.
[0033] In some examples, where each pixel includes multiple color channels, determining the change in intensity for each pixel includes determining the change in intensity for each color channel in the respective pixel and aggregating the change in intensity across the color channels.
[0034] In block 110, an error value E1 between the first ALC image 36a and the second ALC image 36b is calculated based on the change in intensity across the plurality of pixels 50. In this example, the change in intensity for each pixel 50 between the first ALC image 36a and the second ALC image 36b is aggregated by determining the sum of the absolute change in intensity of the plurality of pixels 50. This sum is used to determine the error value E1. In other examples, the error value is determined by aggregating the change in intensity values across the plurality of pixels by other means, such as determining the mean squared deviation of the change in intensity across the plurality of pixels, or determining the absolute average of the change in intensity of each of the plurality of pixels. In yet a further example, the error value is determined based simply on selecting the maximum absolute change in intensity across the plurality of pixels 50. Selecting the maximum absolute change in intensity is useful for assigning a larger error to a pair of ALC images that have low error across the entire image, but large distortion in small regions of the ALC image. The plurality of pixels 50 from which the error value 38 is calculated includes all of the pixels 50 in the entire ALC image in this example. However, in other examples, the plurality of pixels may include a subset of all of the pixels in the ALC image, such as a central portion of the ALC image, or only a subset of the pixels that correspond to the feature (described in more detail in Figures 7a and 7b below).
[0035] In block 112, the method 100 compares the error values 38 for each pair of ALC images 36 and selects the lowest error value E x The method includes the step of selecting a pair of error-minimized ALC images 40 having a least squares error (SAR) of 0.01 to 0.01. Thereafter, selecting an error-minimized image 42 from the pair of error-minimized ALC images 40. The image 42 may be one of the ALC images 36 of the pair of error-minimized ALC images 40, selected arbitrarily or according to a condition, or the image 42 may be both of the ALC images 36 of the pair of error-minimized ALC images 40.
[0036] 1, the image capture device 10 includes a user interface 22 connected to the processor 16. The connection may be wired or wireless. The user interface 22 displays the pair of error-minimized ALC images 40 or a selected error-minimized image 42. The user interface 22 may additionally or alternatively display an error value E of the selected error-minimized image 42. x Display.
[0037] The first exemplary method 100 further includes block 114, which includes outputting the selected error-minimized image 42 to the user interface 22 and / or outputting an error value of the selected error-minimized image 42 to the user interface 22. In other examples, block 114 may be omitted.
[0038] In the first exemplary method 100, multiple primary images 30 are captured over a predetermined time window 32 and analyzed after all of the primary images 30 have been captured. In some examples, the primary images 30 are captured continuously over the time window and the ALC images 36 are dynamically generated during the capture of subsequent primary images 30. Also, the error value 38 is dynamically calculated in real time as subsequent ALC images 36 are generated and primary images 30 are captured.
[0039] Although it has been described that the error values are calculated for the pair of full ALC images 36, in some examples the primary image 30 and / or the ALC image 36 are divided into sub-images to generate ALC sub-images, each of which corresponds to a portion of the primary image. Error values can then be calculated for pairs of ALC sub-images to select an error-minimized ALC sub-image, for example as described with respect to Figures 7a and 7b, or a sub-image corresponding to a portion of the primary image can be selected in any other suitable manner, such as by dividing each image into predefined blocks of pixels, each block of pixels being a single ALC sub-image. In such examples, a complete error-minimized ALC image is generated or reconstructed by stitching together multiple error-minimized ALC sub-images, each of which corresponds to a different portion of the primary image. This is particularly useful when different portions of the object image from the primary image undergo different amounts of movement or translation.
[0040] FIG. 4 is a flow chart illustrating steps of a second exemplary method 200 for selecting a single error-minimized image 42 from a pair of error-minimized ALC images 40.
[0041] 5 shows a visual representation of the steps of a method 200 for selecting an error-minimized image 42 from a pair of error-minimized ALC images 40 in the form of an exemplary plot 60. The plot 60 includes an x-axis t of time and a y-axis E of error values.
[0042] Each error value 38 of a pair of ALC images 36 is plotted against time t, which corresponds to the time at which each primary image 30 was captured from which each respective pair of ALC images 36 was generated. For example, each ALC image 36 is generated from two temporally adjacent primary images 30 in this example, and thus each pair of ALC images 36 is generated from three temporally adjacent primary images 30. The time t against which each error value 38 is plotted may be any time within the time at which the three temporally adjacent primary images 30 are captured, such as the time at which the middle primary image 30 is captured, or the time at the midpoint between the temporal ends of the three temporally adjacent primary images 30. It will be appreciated that in other examples there may be four or more primary images associated with each pair of ALC images, and that the time against which each error value is plotted may relate in any suitable manner to the time at which the associated primary image was captured.
[0043] In block 202, the method 200 includes interpolating the discrete error values 38 of multiple pairs of temporally adjacent ALC images 36 calculated within the time window 32 to generate a continuous function 44 of the error values 38 over time.
[0044] In Fig. 5, (t x ,E x ) is the corresponding error value 38 of the pair of ALC images 40 with the minimized error. The continuous function 44 is m The minimum error E in m In this example, we define one minimum error time t m There is only one minimum error E m However, it will be appreciated that there may be more than one minimum error defined by a continuous function that has a slope of 0 between a preceding negative slope and a following positive slope.
[0045] At block 204, the method 200 determines the minimum error time t m In some examples, two or more minimum error times tm If there is, block 204 finds the time t x The closest time to the minimum error time t m The step of finding
[0046] In block 206, the method 200 selects a minimum error time t from the pair of error-minimized ALC images 40. m In other words, from the pair of error-minimized ALC images 40, select the image 42 with the smallest error that is closest to the minimum error time t m Select the image 42 with the least error, which is generated from the primary image 30 that is closest in time to t m t x If t is greater than t, then the image 42 with the minimized error is selected as the latter of the pair of ALC images 40. m t x If so, then the image 42 with the minimized error is selected as the leading one of the pair of ALC images 40 .
[0047] Figure 6 is a flow chart illustrating the steps of a third exemplary method 300 for minimizing errors in an ALC image 36 due to motion. Referring again to Figure 3, the third exemplary method 300 produces the same basic outputs at various steps as the first exemplary method 100, and therefore the following description will refer to the reference numbers of Figure 3.
[0048] At block 302, the third exemplary method 300 includes capturing multiple primary images 30 of the object 20 where controlled illumination of the object 20 from the lights 14 varies over time. The method 300 includes continuously capturing the primary images 30 and analyzing the primary images 30 in real time in later steps of the method 300.
[0049] Following block 302 , the method 300 includes performing ambient light correction to generate an ALC image 36 by demodulating at least a subset of the captured plurality of primary images 30 .
[0050] Block 304 is followed by block 306, where the method 300 includes determining whether there have been at least two ALC images 36 generated. If there have not been at least two ALC images 36 generated, the method 300 returns to block 302 to capture additional primary images 30 and generate the additional ALC images 36 from a later subset of the primary images 30 offset by one temporally adjacent primary image 30 from which the preceding ALC image 36 was generated. In other examples, the offset can be two or more temporally adjacent primary images.
[0051] If, in block 306, it is determined that there are at least two ALC images 36, the method proceeds to block 308, where an error value 38 is calculated for a pair of ALC images 36, the pair of ALC images 36 including the two most recently generated ALC images 36. Block 308 includes the same steps as block 106 in the first exemplary method 100 for calculating an error value 38 for a pair of ALC images 36. The calculated error value 38 is stored in memory 18 along with the pair of ALC images 36 to which memory 18 refers.
[0052] Following block 308 is block 310, where the method 300 includes comparing the stored error values 38 for the pair of ALC images 36 to determine the lowest error value 38. Following block 310 is block 312, where the method 300 includes determining whether the lowest error value 38 is below a first threshold. If the lowest error value 38 is not below the first threshold, the method returns to block 302 to capture a further primary image 30 and generate another ALC image 36 from a subset of primary images 30 that is temporally adjacent to the subset of primary images from which the preceding ALC image 36 was generated.
[0053] If the lowest error value 38 is below the first threshold, the method 300 proceeds to block 314 where it is determined whether the most recent error value 38 associated with the most recent pair of generated ALC images 36 is above a second threshold. The second threshold is higher than the first threshold. If the most recent error value 38 is not above the second threshold, the method 300 returns to block 302 to capture more primary images 30 and generate another ALC image 36 from a subset of primary images 30 that are temporally adjacent to the subset of primary images from which the preceding ALC image 36 was generated. If the most recent error value 38 is above the second threshold, the method proceeds to block 316 where the time window 32 ends and the lowest error value E x Then, an error-minimized image 42 is selected from the pair of error-minimized ALC images 40 in a manner similar to block 112 described with reference to the first exemplary method 100.
[0054] In another example, when it is determined that the lowest error value 38 falls below the first threshold, the method may proceed after block 312 to block 316. An additional step may be used in block 314 to ensure that the process is not stopped as soon as the error value 38 falls below the first threshold. This is particularly useful if the motion of the object 20 slows down for an extended period of time, in which case there may be a pair of ALC images 36 that may be produced with lower error values if the method is not stopped immediately when the first threshold is met. Waiting until the error value exceeds a second threshold, which is higher than the first threshold, ensures that the object 20 is no longer slowing down.
[0055] This example describes the generation of a single ALC image 36 in block 304. It will be appreciated that any suitable number of ALC images 36 may be generated at one time in block 304, and that the second exemplary method may continue by analyzing any number of ALC images generated in block 304.
[0056] 7a and 7b are flow charts illustrating a first exemplary sub-method 400 and a second exemplary sub-method 500 for replacing blocks 102-104 in the first exemplary method 100 and blocks 302-304 in the second exemplary method 300, respectively.
[0057] The first exemplary sub-method 400 and the second exemplary sub-method 500 define regions of interest in the ALC image 36 that may be analyzed for error values 38 instead of the entire ALC image 36 .
[0058] In the first exemplary sub-method 400 , block 402 comprises capturing a plurality of primary images 30 in a manner similar to block 102 in the first exemplary method 100 or block 302 in the second exemplary method 300 .
[0059] Following block 402, in block 404, sub-method 400 comprises performing feature detection of object 20 to define a number of primary sub-images 30a (best shown in FIG. 3). In this example, object 20 is a human being, and feature detection may include identifying particular features of interest, such as the areas around the human eyes, the human cheeks, or the human forehead. Each primary sub-image 30a thus includes the features of interest.
[0060] Block 404 is followed by block 406, in which the sub-method 400 includes performing ambient light correction on the primary sub-images 30a from the primary images 30 to generate ALC sub-images. The first exemplary sub-method 400 then proceeds to block 106 of the first exemplary method 100, or to blocks 306 or 308 of the second exemplary method 300, where the comparison of ALC images is instead a comparison of ALC sub-images.
[0061] In the second exemplary sub-method 500 , block 502 comprises capturing a plurality of primary images 30 in a manner similar to block 102 in the first exemplary method 100 or block 302 in the second exemplary method 300 .
[0062] At block 504, the sub-method 500 includes performing ambient light correction to generate the multiple ALC images 36. The sub-method 500 then proceeds to block 506.
[0063] In block 506, the sub-method 500 includes performing feature detection of the object 20 in the ALC image 36 to define a plurality of ALC sub-images. In this example, the object 20 is a human, and feature detection may include identifying a particular feature of interest, such as the area around the human eye, the human cheek, or the human forehead. Each ALC sub-image thus includes the feature. The second exemplary sub-method 500 then proceeds to block 106 of the first exemplary method 100, or to blocks 306 or 308 of the second exemplary method 300, where the comparison of the ALC images is instead a comparison of ALC sub-images.
[0064] The method described herein is based on the assumption that the greater the difference between the generated images in two ALC images 36, the greater the error in each ALC image 36. Thus, rather than calculating the motion of the object 20 and attempting to correct for the actual error introduced by that motion in the ALC images, the method generates ALC images and selects the ALC image or pair of ALC images with the lowest estimated error.
[0065] Variations to the disclosed embodiments can be understood and implemented by those skilled in the art in implementing the principles and techniques described herein, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word "comprises" does not exclude other elements or steps, and singular elements do not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that several means are recited in mutually different dependent claims does not indicate that a combination of these means cannot be used to advantage. A computer program may be stored or distributed on a suitable medium, such as an optical storage medium or a solid-state medium, provided together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems. Any reference signs in the claims should not be interpreted as limiting the scope.
Claims
1. 1. A method for acquiring an ambient light corrected (ALC) image with minimized motion error, the method comprising: capturing a plurality of primary images of an object over a time window, the primary images comprising controlled illumination of the object varying in intensity over time; performing ambient light correction on at least a portion of the plurality of primary images captured with different illumination intensities to generate a plurality of ALC images, each ALC image being generated based on demodulating the subset of the plurality of temporally adjacent primary images by determining an ambient light intensity from a subset of temporally adjacent primary images having different controlled illumination and generating the ALC image by removing ambient light intensity from at least one image in the subset of temporally adjacent primary images; calculating error values for pairs of ALC images, each pair of ALC images including a first ALC image and a second ALC image that are temporally adjacent; comparing the error values for each pair of ALC images and determining the pair of ALC images having the lowest error value within the time window; selecting an ALC image from the determined pair of ALC images having the lowest error value within the time window as the image with the least error; having The step of calculating the error value comprises: comparing each pixel of the first ALC image with a corresponding pixel of the second ALC image to determine a change in intensity for each pixel between the first ALC image and the second ALC image; calculating an error value for the pair of ALC images based on the variation in intensity across a plurality of pixels; The method comprising:
2. comparing the error values between each pair of temporally adjacent ALC images and selecting an image from the pair of ALC images having the lowest error value, - interpolating discrete error values of all temporally adjacent ALC image pairs calculated within said time window to generate a continuous function over time, said continuous function defining a minimum error at a minimum error time; selecting the ALC image that was generated closest to the minimum error time; 2. The method of claim 1, comprising:
3. calculating the error value for the pair of ALC images based on the change in intensity for each pixel, determining a sum of absolute change in intensity for each of said plurality of pixels; determining the mean squared deviation of the variation in intensity for each of said plurality of pixels; determining an absolute average of the change in intensity for each of the plurality of pixels; or selecting a maximum absolute change in intensity across said plurality of pixels; The method according to claim 1 or 2, further comprising one of the following steps:
4. 4. A method according to claim 1, wherein the ALC images for which the error is calculated are ALC sub-images, each ALC sub-image corresponding to a portion of the primary image, thereby selecting the ALC sub-image for which the error is minimized.
5. The method of claim 4 , further comprising the step of generating a reconstructed ALC image by stitching together a plurality of different error-minimized ALC sub-images corresponding to different portions of the primary image.
6. After capturing the plurality of primary images, define a corresponding plurality of primary sub-images to generate a plurality of ALC sub-images; or and defining a plurality of ALC sub-images from the generated plurality of ALC images after performing ambient light correction. performing feature detection; The method of claim 4 or 5, wherein each sub-image contains said features.
7. 7. The method of claim 1, wherein a plurality of primary images are captured successively over the time window, the error value being dynamically calculated in real time, and the time window ending when the error value for a pair of ALC images falls below a predetermined first threshold.
8. 7. The method of claim 1, wherein a plurality of primary images are captured successively over the time window, and the error value is dynamically calculated in real time, the time window ending when the error value falls below a first threshold and then rises above a second threshold that is higher than the first threshold.
9. The method according to claim 1 , further comprising the step of outputting the selected error-minimised images to a user interface.
10. The method of claim 9 , further comprising the step of outputting the error values of the selected error-minimized images to the user interface.
11. 11. The method of claim 1, wherein determining the change in intensity for each pixel comprises determining a change in intensity for each color channel in each pixel and aggregating the change in intensity across the color channels.
12. A non-transitory computer readable storage medium comprising computer readable instructions that, when executed by a processor, cause the processor to perform the method of any one of claims 1 to 11.
13. A computer program which, when read by a computer, causes the computer to carry out the method according to any one of claims 1 to 11.
14. At least one processor; at least one memory containing computer readable instructions; 1. An image capture device comprising:
12. An image capture device, wherein the at least one processor reads the computer readable instructions to cause the device to perform the method of any one of claims 1 to 11.