Automatic image processing suggestion based on color analysis
By performing background/foreground segmentation and histogram analysis on the image, the median brightness value and dominant tone are determined, and the problem of difficult to automatically suggest aesthetic image processing in the prior art is solved, and intelligent image processing based on image color analysis is realized, providing Aesthetically pleasing handling suggestions.
Patent Information
- Application Number
- CN202380044568.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-03
- Filing Date
- 2023-06-01
- Publication Date
- 2025-01-10
AI Technical Summary
The prior art is difficult to automatically suggest aesthetically pleasing image processing options, and there is a lack of intelligent systems based on image color analysis to optimize image processing operations.
By performing background/foreground segmentation of the image, histogram analysis is performed to determine median brightness values and dominant tones, and image processing suggestions are performed based on these results, including filtering, constructing RGB histograms, extracting median brightness values to determine complementary colors and Brightness processing is recommended.
Automatic image processing recommendations are implemented, which can provide aesthetically pleasing processing options based on the color characteristics of the image, improving the aesthetic effect and user experience of image processing.
Smart Images

Figure CN119301631A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to the field of digital image processing. More specifically, but not by way of limitation, the present invention relates to techniques for automatically suggesting image processing options based on image color analysis techniques. Background Art
[0002] As used herein, image processing may refer to any one or more of color-related, brightness-related, saturation-related, hue-related, chroma-related, or other pixel manipulation techniques that may be applied to image pixels for any number of aesthetic (or non-aesthetic) reasons. For example, in some cases, a user may wish to apply an aesthetically pleasing image processing operation to an image that may later be used as a wallpaper image, an album cover photo, an avatar, a profile photo, etc. It would therefore be beneficial if there were an intelligent system that could automatically suggest aesthetically pleasing image processing options for a user's images based at least in part on a color analysis of the image. Summary of the invention
[0003] According to one or more aspects, a method for image processing is disclosed, the method comprising: obtaining a first image comprising a first plurality of pixels, wherein each pixel in the first plurality of pixels is represented by one or more pixel values; obtaining a first segmentation map of the first image, wherein the first segmentation map comprises a first plurality of segmentation values, wherein each segmentation value in the first plurality of segmentation values represents the extent to which a corresponding pixel in the first plurality of pixels is estimated to be part of a background of the first image; performing a histogram analysis on the first plurality of pixels, wherein the histogram analysis is weighted based on the corresponding segmentation value of each pixel in the first segmentation map, and wherein the histogram analysis comprises at least determining: (a) a median brightness value of pixels estimated to be part of the background of the first image; and (b) one or more dominant tones of pixels estimated to be part of the background of the first image; and suggesting first image processing for the first image based at least in part on the determined median brightness value or the determined one or more dominant tones.
[0004] According to some aspects, it is suggested that the first image processing for the first image further includes: filtering pixel values of a first plurality of pixels around the determined one or more dominant tones.
[0005] According to other aspects, it is suggested that the first image processing for the first image also includes: extracting one or more median brightness values from a red-green-blue (RGB) image histogram constructed based on the filtered pixel values of the first plurality of pixels.
[0006] According to some such aspects, recommending a first image processing for the first image also includes: recommending a set of complementary colors for use in application of the first image processing, wherein the set of complementary colors is determined at least in part based on one or more median brightness values extracted from the RGB image histogram.
[0007] According to other such aspects, recommending first image processing for the first image also includes recommending brightness processing for pixels estimated to be part of the background of the first image based at least in part on the determined median brightness values of the pixels estimated to be part of the background of the first image.
[0008] The various methods and techniques outlined in this section may also be performed by an electronic device that may include: one or more image capture devices, such as an optical image sensor / camera unit; a display; a user interface; one or more processors; and a memory coupled to the one or more processors; wherein the one or more processors are configured to perform any of the various methods and techniques outlined herein. The various methods and techniques outlined in this section may also be stored as instructions in a non-transitory computer-readable medium, wherein the instructions, when executed, cause the various methods and techniques outlined herein to be performed.
[0009] This summary is intended to provide a brief overview of some of the topics described in this document. Therefore, it should be understood that the above features are only examples and should not be construed as narrowing the scope or essence of the topics described herein in any way. Other features, aspects, and advantages of the topics described herein will become apparent through the following detailed description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] A better understanding of the present subject matter may be gained when the following detailed description of the various aspects is considered in conjunction with the following drawings:
[0011] Figure 1 A pair of exemplary image processing pipelines for performing dominant tone image analysis according to some aspects are shown.
[0012] Figure 2 An exemplary application of automatically suggested image processing to a raw image in accordance with some aspects is shown.
[0013] Figure 3 is a flow chart describing a method of performing dominant tone image processing analysis according to some aspects.
[0014] Figure 4 An exemplary programmable electronic computing device according to some aspects is shown. DETAILED DESCRIPTION
[0015] Now go to Figure 1 , shows a pair of exemplary image processing pipelines 100. Specifically, image processing pipeline 101 shows a dominant tone analysis image processing pipeline that can be performed on an input image 102 and a corresponding segmentation map 104 of the input image 102. In some embodiments, the input image 102 may include pixels, each pixel having one or more pixel values, such as RGB values, YCbCr values, etc.
[0016] In some embodiments, the segmentation map 104 includes a first plurality of segmentation values, wherein each segmentation value in the first plurality of segmentation values represents the extent to which the corresponding pixel in the first plurality of pixels is estimated to be part of the background of the first image. It should be understood that the use of background / foreground segmentation here is only exemplary, and other segmentation categories may be used. In addition, in other embodiments, the segmentation values may alternatively reflect the extent to which each pixel is estimated to be part of the foreground of the image. In some embodiments, the segmentation values of the segmentation map 104 will be referred to herein as "α" values, i.e., continuous decimal values, such as in the range 0..1, wherein the value 0 represents the complete confidence that the pixel belongs to the background of the image, and the value 1 represents the complete confidence that the pixel belongs to the foreground of the image, and the values between 0 and 1 represent the corresponding relative confidence, wherein values closer and closer to 0 reflect the increasing certainty that a particular pixel in the segmentation map belongs to the background of the image. Other symbolic conventions and data representations in the segmentation map 104 are also possible. However, as will be discussed herein, the use of alpha values in the segmentation map may provide a convenient ability to "weight" the impact of certain pixels in the image analysis stage of the image processing pipeline, for example, based on the degree to which a given pixel in the image is estimated to be part of the background (or foreground, if that is relevant to the particular image processing being proposed) of the input image. In some cases, if there is too much uncertainty in the segmentation map 104 for an image (e.g., a large number of pixels having values close to 0.5), then the image may simply not be recommended for use with the image processing operations described herein.
[0017] At block 106, the input image and its corresponding alpha value from the segmentation map 104 may be combined. Then, at block 108, a cropping operation may be applied to the input image 102, for example, if it is desired to use and / or perform analysis on only a subset of the pixels of the input image 102 (or, for example, if a particular size or aspect ratio is desired for the processed image). At block 110, the input image data may be converted (if necessary) into a perceptual color space, such as an IPT, ICtCp, or ITP color space, i.e., a color space capable of representing pixels in terms of hue-chrominance-luminance (i.e., “HCL”).
[0018] At block 112, an alpha perceptual histogram may be constructed for the input image 102 in a perceptual (e.g., IPT) color space. In some embodiments, the alpha perceptual histogram 112 may divide the input image pixels into discrete "buckets" in a hue space. As described above, the use of an alpha perceptual histogram allows the ability to "weight" the impact of certain pixels during the image analysis phase. For example, if Figure 1 If the exemplary image processing in operates on background pixels, the weight or influence of image pixels in the foreground may be reduced, for example, based on the degree to which a given pixel is estimated to be part of the foreground of the input image. In this way, rather than setting their values to "0" or some other constant value in the hue histogram 112 (which would discard any subsequent dominant color analysis), these pixels may simply be completely (or partially) ignored from the image analysis, i.e., based on their corresponding segmentation map values.
[0019] In some embodiments, the histogram 112 may also include a special, so-called "filtered hue" channel, which may, for example, represent only image hue values whose corresponding image chrominance values are also at least above a threshold value (e.g., 25%). Filtered hue may be beneficial because the concept of hue is essentially undefined / meaningless for pixels having chrominance values below a certain threshold. If low chrominance pixels are included in the hue histogram analysis, the dominant hue will likely be biased toward hues that are not actually present in the input image.
[0020] In some embodiments, at least a median brightness value (114) and one or more dominant hue values (116) may be determined for pixels estimated to be part of the background of the first image. In some such embodiments, the one or more dominant hue values (116) may be determined as any sufficiently large local maximum peak in the hue histogram 112. In some cases, special consideration may be given to hue peaks or ranges that may span more than 360 degrees and back to near 0 degrees (i.e., considering that the hue values form a continuous circle rather than purely ascending in value as in a typical histogram).
[0021] Turning now to the image processing pipeline 151, a dominant color extraction image processing pipeline is shown that can be performed on the determined dominant hue values of the input image. First, at box 150, one or more dominant hue values (e.g., as determined 116) are obtained, for example, as represented in an IPT (i.e., hue-chroma-brightness) color space. Next, at box 152, pixels in the input image can be filtered around the determined one or more dominant hues. According to some embodiments, a tent filter (e.g., a 15-degree, 30-degree, or 45-degree wide tent filter) can be applied to the image data in the hue space (i.e., rather than a box filter or other type of filter). In this way, the farther a pixel is from one of the determined one or more dominant hues in hue, the less weight it will receive in the dominant color extraction operation of the image processing pipeline 151.
[0022] At block 154, an alpha perceptual histogram may be constructed in a red-green-blue (RGB) color space for the input image 102. In some implementations, an RGB image histogram may be constructed based on the filtered pixel values of the first plurality of pixels determined at block 152. In this manner, the dominant colors ultimately extracted from the input image will be based on the dominant hues determined in the image, but the actual colors extracted will be from the image itself and therefore provide a better match to the actual image in terms of hue and saturation.
[0023] In some embodiments, the alpha-aware RGB histogram 154 may divide the input image pixels into discrete "buckets" in each of one or more channels of the RGB space (e.g., a red histogram, a green histogram, a blue histogram, and even a pure brightness histogram). As described above, the use of the alpha-aware histogram allows the ability to "weight" the impact of certain pixels during the image analysis phase. For example, if Figure 1 If the exemplary image processing in 150 operates on background pixels, the weight or influence of image pixels in the foreground may be reduced, for example, based on the degree to which a given pixel is estimated to be part of the foreground of the input image. In this way, rather than setting their values to "0" or some other constant value in the RGB histogram 154, such as black (which would discard any subsequent dominant color analysis), these pixels may simply be completely (or partially) ignored from the image analysis, i.e., based on their corresponding segmentation map values.
[0024] According to some embodiments, for each image channel for which a filtered RGB histogram has been constructed, a median value may be determined, and then, for example, the median red value, the median green value, and the median blue value may be combined to form the dominant RGB color (156) of the input image 102. Other techniques may be used in addition to selecting the median value from each histogram, but based on experimental results, the median value tends to give aesthetically pleasing dominant color determinations.
[0025] Next, using the determined dominant RGB color (156), one or more automatic suggestions may be provided to the user. For example, a complementary font color (158) may be suggested to the user, for example, to be overlaid in text form on the input image 102, based on the determined dominant RGB color (156). In other embodiments, various background (and / or foreground-related) color treatment suggestions may be automatically suggested to the user, for example, as seeded by the determined dominant RGB color (156) and / or a palette (162) of selected (or mathematically determined) colors that are complementary to the determined dominant RGB color (156). In some cases, the complementary color may be determined based at least in part on one or more median brightness values extracted from an RGB image histogram.
[0026] In some embodiments, a tone analysis (164) may also be performed on the input image, for example, based at least in part on an estimated median luminance value for associated pixels in the input image. For example, for image processing configured to operate on background pixels in an image, the tone analysis (164) may recommend luminance processing for pixels estimated to be part of the background of the input image based at least in part on a median luminance value determined for pixels estimated to be part of the background of the input image. Figure 1 In an example of , this may include a suggestion to use a light, dark, or neutral version of the determined dominant RGB color (156) in the application of the selected image processing. Finally, the user may select a preferred color (166), for example from a color palette 162, from which to seed and apply the selected image processing. For example, in some processes, the selected color 166 may be applied to or used to color the background (and / or foreground) of the input image (or replace certain colors therein). In other processes, the selected color 166 and another complementary color may be applied to the input image in an aesthetically pleasing manner to provide a "duotone" appearance to the processed version of the input image. In yet other examples, areas of the input image other than those areas that are sufficiently close to the determined dominant RGB color (156) may be converted to grayscale, or made more monochrome, etc.
[0027] Now go to Figure 2 , shows an exemplary application 200 of an automatically suggested image processing to an original image 202. As discussed above, in some embodiments, the image 202 may be segmented into a foreground region (204) and a background region (206), for example, with the aid of a segmentation map (e.g., segmentation map 104). In this example, the image processing is shown as if it affects both the image foreground and background in the same manner, but it should be understood that a given image processing can certainly be configured to target only image foreground pixels, only image background pixels, or a desired subset thereof.
[0028] As mentioned above Figure 1 As described, in some embodiments, at block 208, an alpha-aware dominant hue / color analysis and extraction operation may be performed (e.g., involving the use of a histogram similar to the histograms 112 / 154 described above), which may produce a determination of one or more dominant RGB colors in the original image 202. Based on the analysis performed at block 208, at block 210, one or more automatic color processing suggestions may be presented to the user for selection (e.g., such as the aforementioned color processing examples, which may specifically target background pixels and / or foreground pixels in the input image in a unique and / or independent manner to present aesthetically pleasing results).
[0029] According to some embodiments, at box 212, a color selection palette may then be presented to the user, which may, for example, present one or more of the determined dominant RGB colors and / or one or more colors determined to be complementary to one of the determined dominant RGB colors in the image, and a slider (or other user interface element) that may allow the user to apply a particular hue or brightness treatment to the selected color. For example, as shown at box 212, sliding the slider to the left may select a lighter version of the dominant color, while sliding the slider to the right may select a darker version of the dominant color. As described above, in some embodiments, a default slider / brightness treatment value may be automatically suggested to the user, for example, based on a median brightness analysis (or other form of brightness analysis) of the original image 202.
[0030] Finally, various versions of the original image 202 may be generated based on the particular image processing and color (and / or brightness) values selected by the user at blocks 210 and 212. For example, color processing variant 214A may represent a "light wash" effect based on the determined dominant RGB colors of the image applied to the foreground and background of the original image 202 (although, as noted, in other examples, the effect may be applied exclusively to the background or exclusively to the foreground, etc., as desired), while color processing variant 214B may represent a "neutral wash" effect applied to the original image 202, and color processing variant 214C may represent a "dark wash" effect applied to the original image 202.
[0031] As described above, in some embodiments, a font color may also be selected for text elements (e.g., 216A / 216B / 216C) to be included in the processed version 214 of the original image 202. In some embodiments, the selected font color may also be determined based on (or determined to be complementary to) one of the dominant colors determined in the original image. In some image processing, such as those where there is a foreground / background segmentation map provided for the original image, the text element may be inserted into the processed version 214 of the original image 202 at a depth "between" the background and foreground of the image. For example, in Figure 2 In this case, the time (2:00 PM) in the processed version 214 of the original image 202 may cover and occlude certain background elements of the image (e.g., the sun), but will appear "behind" (i.e., be occluded by) certain foreground elements of the image (e.g., the face of a human subject in the image).
[0032] In some embodiments, the image processing suggested to the user will be those that are configured and / or estimated to produce the fewest visually and / or aesthetically pleasing artifacts when applied to the original input image. In some embodiments, other synthesis techniques, such as edge softening and / or spill suppression, may also be applied in an attempt to limit aesthetically pleasing artifacts in the processed image.
[0033] Now go to Figure 3 , a flowchart describing in detail a method 300 for performing a dominant hue image processing analysis is shown. First, at step 302, the method 300 may obtain a first image including a first plurality of pixels, wherein each pixel in the first plurality of pixels is represented by one or more pixel values. Next, at step 304, the method 300 may obtain a first segmentation map for the first image, wherein the first segmentation map includes a first plurality of segmentation values, and wherein each segmentation value in the first plurality of segmentation values represents the degree to which a corresponding pixel in the first plurality of pixels is estimated to be part of the background of the first image. Next, at step 306, the method 300 may perform a histogram analysis on the first plurality of pixels, wherein the histogram analysis is weighted based on the corresponding segmentation value of each pixel in the first segmentation map. In some embodiments, the histogram analysis may include at least determining: (a) a median luminance value of pixels estimated to be part of the background of the first image; and (b) one or more dominant hues of pixels estimated to be part of the background of the first image. Finally, at step 308, the method 300 may recommend a first image processing for the first image based at least in part on the determined median luminance value and / or the determined one or more dominant hues.
[0034] See now Figure 4, a functional block diagram of an exemplary programmable electronic computing device 400 is shown according to one embodiment. The electronic device 400 can be, for example, a mobile phone, a personal media device, a portable camera, or a system of a tablet computer, a laptop computer, or a desktop computer. As shown, the electronic device 400 may include a processor 405, a display 410, a user interface 415, a graphics hardware 420, a device sensor 425 (e.g., a proximity sensor / ambient light sensor, an accelerometer, an inertial measurement unit, and / or a gyroscope), a microphone 430, an audio codec 435, a speaker 440, a communication circuit 445, an image capture device 450 (e.g., it may include multiple camera units / optical image sensors with different characteristics or capabilities (e.g., static image stabilization (SIS), high dynamic range (HDR), optical image stabilization (OIS) system, optical zoom and digital zoom, etc.), a video codec 455, a memory 460, a storage device 465, and a communication bus 440.
[0035] The processor 405 may execute instructions necessary for implementing or controlling the operation of various functions performed by the electronic device 400 (e.g., generation and / or processing of images according to various embodiments described herein). The processor 405 may, for example, drive the display 410 and may receive user input from the user interface 415. The user interface 415 may take a variety of forms, such as buttons, keypads, dials, click wheels, keyboards, display screens, and / or touch screens. The user interface 415 may, for example, be a conduit through which a user can view a captured video stream and / or indicate a specific image frame that the user wants to capture (e.g., by clicking a physical or virtual button at the moment when the desired image frame is being displayed on the display screen of the device). In one embodiment, the display 410 may display a video stream that is captured while the processor 405 and / or graphics hardware 420 and / or image capture circuitry is simultaneously generating the video stream and storing the video stream in the memory 460 and / or storage device 465.
[0036] Processor 405 may be a system on a chip (SOC) such as those found in mobile devices, and may include one or more dedicated graphics processing units (GPUs). Processor 405 may be based on a reduced instruction set computer (RISC) or complex instruction set computer (CISC) architecture or any other suitable architecture, and may include one or more processing cores. Graphics hardware 420 may be dedicated computing hardware for processing graphics and / or assisting processor 405 in performing computing tasks. In one embodiment, graphics hardware 420 may include one or more programmable graphics processing units (GPUs) and / or one or more dedicated SOCs, for example, a SOC specifically designed to implement neural network and machine learning operations (e.g., convolutions) in a more energy-efficient manner than a host device central processing unit (CPU) or a typical GPU, such as Apple's Neural Engine processing core.
[0037] For example, according to the present disclosure, the image capture device 450 may include one or more camera units configured to capture images, for example, which may be processed to help further calibrate the image of the image capture device in field use. The image capture device 450 may include two (or more) lens assemblies 480A and 480B, wherein each lens assembly may have a separate focal length. For example, relative to the focal length of lens assembly 480B, lens assembly 480A may have a shorter focal length. Each lens assembly may have a separate associated sensor element, for example, sensor element 490A / 490B. Alternatively, two or more lens assemblies may share a common sensor element. The image capture device 450 may capture static images and / or video images. The output from the image capture device 450 may be processed at least in part by the following devices: a video codec 455 and / or a processor 405 and / or graphics hardware 420, and / or a dedicated image processing unit or image signal processor incorporated in the image capture device 450. The images captured in this way may be stored in the memory 460 and / or the storage device 465.
[0038] Memory 460 may include one or more different types of media used by processor 405, graphics hardware 420, and image capture device 450 to perform device functions. For example, memory 460 may include memory cache, read-only memory (ROM), and / or random access memory (RAM). Storage device 465 may store media (e.g., audio files, image files, and video files), computer program instructions or software, preference information, device profile information, and any other suitable data. Storage device 465 may include one or more non-transitory storage media, including, for example, disks (fixed hard disks, floppy disks, and removable disks) and tapes, optical media such as CD-ROMs and digital video discs (DVDs), and semiconductor memory devices such as electrically programmable read-only memories (EPROMs), and electrically erasable programmable read-only memories (EEPROMs). Memory 460 and storage device 465 may be used to maintain computer program instructions or codes, which are organized into one or more modules and written in any desired computer programming language. For example, when executed by processor 405, such computer program code may implement one or more of the methods or processes described herein. The power supply 475 may include a rechargeable battery (e.g., a lithium-ion battery, etc.) or other electrical connection to a power source (e.g., to a power source) for managing and / or providing power to the electronic components and associated circuitry of the electronic device 400.
[0039] Additional Notes
[0040] The use of the conjunction term "and / or" is intended to represent all possible alternative forms of the conjunction "and" and the conjunction "or." For example, the sentence "the configuration of A and / or B" includes the meaning of the sentence "the configuration of A and B" and "the configuration of A or B."
[0041] It is understood that the use of personally identifiable information should be subject to privacy policies and practices that are generally recognized to meet or exceed industry or government requirements for maintaining user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of the authorized use should be clearly stated to users.
[0042] Aspects of the present disclosure can be implemented in any of a variety of forms. For example, some aspects can be implemented as computer-implemented methods, computer-readable storage media, or computer systems. Other aspects can be implemented using one or more custom-designed hardware devices such as ASICs. Other aspects can be implemented using one or more programmable hardware elements such as FPGAs.
[0043] In some aspects, a non-transitory computer-readable storage medium may be configured such that it stores program instructions and / or data, where the program instructions, when executed by a computer system, cause the computer system to perform a method (e.g., any of the method aspects described herein, or any combination of the method aspects described herein, or any subset of any of the method aspects described herein, or any combination of such subsets).
[0044] Although the above aspects have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to include all such variations and modifications.
Claims
1. A method for image processing, the method comprising: obtaining a first image comprising a first plurality of pixels, wherein each pixel of the first plurality of pixels is represented by one or more pixel values; obtaining a first segmentation map for the first image, wherein the first segmentation map comprises a first plurality of segmentation values, and wherein each segmentation value in the first plurality of segmentation values represents an extent to which a corresponding pixel in the first plurality of pixels is estimated to be part of a background of the first image; performing a histogram analysis on the first plurality of pixels, wherein the histogram analysis is weighted based on a corresponding segmentation value of each pixel in the first segmentation map, and wherein the histogram analysis comprises determining at least: (a) median brightness values of pixels estimated to be part of the background of the first image; as well as (b) one or more dominant hues of pixels estimated to be part of the background of the first image; as well as A first image processing is suggested for the first image based at least in part on the determined median luminance value or the determined one or more dominant hues.
2. The method of claim 1 , wherein suggesting the first image processing for the first image further comprises: The pixel values of the first plurality of pixels surrounding the determined one or more dominant hues are filtered.
3. The method of claim 2, wherein suggesting the first image processing for the first image further comprises: One or more median luminance values are extracted from a red-green-blue (RGB) image histogram constructed based on the filtered pixel values of the first plurality of pixels.
4. The method of claim 3, wherein suggesting the first image processing for the first image further comprises: A set of complementary colors is suggested for use in the first image processing application, wherein the set of complementary colors is determined based at least in part on one or more intermediate brightness values extracted from the RGB image histogram.
5. The method of claim 3, wherein suggesting the first image processing for the first image further comprises: Luminance processing is suggested for the pixels estimated to be part of the background of the first image based at least in part on the determined median luminance values of the pixels estimated to be part of the background of the first image.
6. An electronic device, comprising: Memory; monitor; and One or more processors operatively coupled to the memory, wherein the one or more processors are configured to execute instructions that cause the one or more processors to: obtaining a first image comprising a first plurality of pixels, wherein each pixel of the first plurality of pixels is represented by one or more pixel values; obtaining a first segmentation map for the first image, wherein the first segmentation map comprises a first plurality of segmentation values, and wherein each segmentation value in the first plurality of segmentation values represents an extent to which a corresponding pixel in the first plurality of pixels is estimated to be part of a background of the first image; performing a histogram analysis on the first plurality of pixels, wherein the histogram analysis is weighted based on a corresponding segmentation value of each pixel in the first segmentation map, and wherein the histogram analysis comprises at least determining: (a) median brightness values of pixels estimated to be part of the background of the first image; as well as (b) one or more dominant hues of pixels estimated to be part of the background of the first image; as well as A first image processing is suggested for the first image based at least in part on the determined median luminance value or the determined one or more dominant hues.
7. The electronic device of claim 6, wherein the instructions causing the one or more processors to suggest the first image processing for the first image further comprise instructions causing the one or more processors to: The pixel values of the first plurality of pixels surrounding the determined one or more dominant hues are filtered.
8. The electronic device of claim 7, wherein the instructions causing the one or more processors to suggest the first image processing for the first image further comprise instructions causing the one or more processors to: One or more median luminance values are extracted from a red-green-blue (RGB) image histogram constructed based on the filtered pixel values of the first plurality of pixels.
9. The electronic device of claim 8, wherein the instructions causing the one or more processors to suggest the first image processing for the first image further comprise instructions causing the one or more processors to: A set of complementary colors is suggested for use in the first image processing application, wherein the set of complementary colors is determined based at least in part on one or more intermediate brightness values extracted from the RGB image histogram.
10. The electronic device of claim 8, wherein the instructions causing the one or more processors to suggest the first image processing for the first image further comprise instructions causing the one or more processors to: Luminance processing is suggested for the pixels estimated to be part of the background of the first image based at least in part on the determined median luminance values of the pixels estimated to be part of the background of the first image.
11. A non-transitory computer readable medium comprising computer readable instructions executable by one or more processors to: obtaining a first image comprising a first plurality of pixels, wherein each pixel of the first plurality of pixels is represented by one or more pixel values; obtaining a first segmentation map for the first image, wherein the first segmentation map comprises a first plurality of segmentation values, and wherein each segmentation value in the first plurality of segmentation values represents an extent to which a corresponding pixel in the first plurality of pixels is estimated to be part of a background of the first image; performing a histogram analysis on the first plurality of pixels, wherein the histogram analysis is weighted based on a corresponding segmentation value of each pixel in the first segmentation map, and wherein the histogram analysis comprises determining at least: (a) median brightness values of pixels estimated to be part of the background of the first image; as well as (b) one or more dominant hues of pixels estimated to be part of the background of the first image; as well as A first image processing is suggested for the first image based at least in part on the determined median luminance value or the determined one or more dominant hues.
12. The non-transitory computer readable medium of claim 11, wherein the instructions executable by the one or more processors to suggest the first image processing for the first image further comprise instructions executable by the one or more processors to: The pixel values of the first plurality of pixels surrounding the determined one or more dominant hues are filtered.
13. The non-transitory computer readable medium of claim 12, wherein the instructions executable by the one or more processors to suggest the first image processing for the first image further comprise instructions executable by the one or more processors to: One or more median luminance values are extracted from a red-green-blue (RGB) image histogram constructed based on the filtered pixel values of the first plurality of pixels.
14. The non-transitory computer readable medium of claim 13, wherein the instructions executable by the one or more processors to suggest the first image processing for the first image further comprise instructions executable by the one or more processors to: A set of complementary colors is suggested for use in the first image processing application, wherein the set of complementary colors is determined based at least in part on one or more intermediate brightness values extracted from the RGB image histogram.
15. The non-transitory computer readable medium of claim 13, wherein the instructions executable by the one or more processors to suggest the first image processing for the first image further comprise instructions executable by the one or more processors to: Luminance processing is suggested for the pixels estimated to be part of the background of the first image based at least in part on the determined median luminance values of the pixels estimated to be part of the background of the first image.
16. A method comprising any act or combination of acts substantially as described herein in the detailed description.
17. A method substantially as herein described with reference to each or any combination of the accompanying drawings included herein.
18. An electronic device configured to perform any action or combination of actions as substantially described herein in the detailed description.
19. A non-volatile computer readable medium storing instructions that, when executed, cause performance of any action or combination of actions as substantially described herein in the detailed description.
20. An integrated circuit configured to perform any action or combination of actions as substantially described herein in the detailed description.