WO2023005853A1 - 图像处理方法及装置、电子设备、存储介质及计算机程序产品 - Google Patents

图像处理方法及装置、电子设备、存储介质及计算机程序产品 Download PDF

Info

Publication number
WO2023005853A1
WO2023005853A1 PCT/CN2022/107488 CN2022107488W WO2023005853A1 WO 2023005853 A1 WO2023005853 A1 WO 2023005853A1 CN 2022107488 W CN2022107488 W CN 2022107488W WO 2023005853 A1 WO2023005853 A1 WO 2023005853A1
Authority
WO
WIPO (PCT)
Prior art keywords
brightness
color
target
preset
lookup table
Prior art date
Application number
PCT/CN2022/107488
Other languages
English (en)
French (fr)
Inventor
苏柳
孙仁辉
Original Assignee
上海商汤智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海商汤智能科技有限公司 filed Critical 上海商汤智能科技有限公司
Publication of WO2023005853A1 publication Critical patent/WO2023005853A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Definitions

  • the present disclosure relates to the field of computer vision, and in particular to an image processing method and device, electronic equipment, storage media and computer program products.
  • Embodiments of the present disclosure provide an image processing method and device, electronic equipment, a storage medium, and a computer program product.
  • an image processing method including:
  • Receiving a beautification operation for the target part of the user image determining the average brightness of the target part; adjusting the brightness of the pixels in the target part according to the average brightness, to obtain the target brightness of the pixels in the target part ;
  • the beautification color parameters input in the beautification operation and the target brightness determine the target color parameters of the pixels in the target part; according to the target color parameters, generate the target user after beautifying the target part image.
  • an image processing device including:
  • the receiving module is configured to receive a beautification operation for the target part of the user image, and determine the average brightness of the target part;
  • the adjustment module is configured to adjust the brightness of the pixels in the target part according to the average brightness, to obtain The target brightness of the pixels in the target part;
  • the determination module is configured to determine the target color parameters of the pixels in the target part according to the beautification color parameters input in the beautification operation and the target brightness;
  • the beautification module is configured To generate a target user image after beautifying the target part according to the target color parameter.
  • an electronic device including: a processor; a memory for storing instructions executable by the processor; wherein the processor is configured to: execute the above image processing method.
  • a computer-readable storage medium on which computer program instructions are stored, and the above-mentioned image processing method is implemented when the computer program instructions are executed by a processor.
  • a computer program product including a computer-readable storage medium storing program codes, and when instructions included in the program codes are executed by a processor of a computer device, the above-mentioned image processing method is implemented. .
  • the brightness of the pixels in the target part is adjusted according to the average brightness to obtain the target brightness, so that based on the beautification operation
  • the input beautification color parameters and the target brightness determine the target color parameters of the pixels in the target part, so as to generate the target user image after beautifying the target part according to the target color parameters.
  • the color of the pixels in the target part can be beautified based on the brightness of the target part in the user image, and the color beautification effect and naturalness of the target part in the target user image can be improved; on the other hand, through the beautification operation Arbitrary input of beautification color parameters can enrich the color of beautification operation and improve the freedom of beautification operation.
  • FIG. 1 shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • FIG. 2A shows a schematic diagram of an input interface of a beautification operation according to an embodiment of the present disclosure
  • FIG. 2B shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • FIG. 2C shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • Fig. 3 shows a schematic diagram of a target part obtained through segmentation processing according to an embodiment of the present disclosure
  • FIG. 4 shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • Fig. 5 shows a schematic diagram of a first preset color lookup table according to an embodiment of the present disclosure
  • Fig. 6 shows a schematic diagram of a second preset color lookup table according to an embodiment of the present disclosure
  • FIG. 7A shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • Fig. 7B shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • FIG. 7C shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • FIG. 7D shows a flowchart of an image processing method according to an embodiment of the present disclosure
  • Fig. 8 shows a schematic diagram of a user image according to an embodiment of the present disclosure
  • Fig. 9 shows a schematic diagram of a target user image according to an embodiment of the present disclosure.
  • Fig. 10 shows a block diagram of an image processing device according to an embodiment of the present disclosure
  • Fig. 11 shows a flowchart of an image processing method according to an application example of the present disclosure
  • Fig. 12 shows a block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG. 1 shows a flow chart of an image processing method according to an embodiment of the present disclosure.
  • the method can be applied to an image processing device or an image processing system, and the image processing device can be a terminal device, a server, or other processing devices.
  • the terminal device may be user equipment (User Equipment, UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (Personal Digital Assistant, PDA), handheld device, computing device, vehicle-mounted device, Wearable equipment etc.
  • the image processing method can be applied to a cloud server or a local server.
  • the cloud server can be a public cloud server or a private cloud server, which can be flexibly selected according to actual conditions.
  • the image processing method may also be implemented in a manner in which the processor invokes computer-readable instructions stored in the memory.
  • the image processing method is executed by an electronic device
  • the electronic device may be the above-mentioned image processing device or a cloud server, or a local server, and the method may include:
  • Step S11 receiving a beautification operation on a target part of the user's image, and determining the average brightness of the target part.
  • the user image can be any image containing the target part of the user, and the user image can contain one or more users, and can also contain one or more target parts of the user, and its implementation form can be flexibly determined according to the actual situation.
  • the user image can contain one or more users, and can also contain one or more target parts of the user, and its implementation form can be flexibly determined according to the actual situation.
  • the target part can be any part in the user's image that needs to be beautified. Which parts are included in the target part, the implementation form can also be flexibly determined according to the actual situation of the beautification operation.
  • the target part can be the hair part.
  • the target part may be the face part
  • the beautification operation for lip makeup operation the target part may be the lip part, etc.
  • the beautification operation can be any operation that performs beautification processing on the target part of the user's image, such as hair dyeing operation, lip makeup operation, eye makeup operation, or cosmetic operation.
  • the operation content included in the beautification operation can be flexibly determined according to the actual situation, and is not limited to the following disclosed embodiments.
  • the beautification operation may include an operation indicating to perform beautification processing on the user's target part in the user image; in some possible implementation manners, the beautification operation may also include inputting at least one parameter, etc., Such as processing type, beautifying color parameters or adjusting parameters, etc.
  • the processing type may be the type performed in the beautification operation. With the different forms of the beautification operation, the processing type included in the beautification operation may also be flexibly changed, and the beautification operation may include at least one processing type. In a possible implementation manner, when the beautification operation includes hair dyeing, the treatment type may include at least one of single-color hair dyeing, double-color hair dyeing, gradient hair dyeing, or multi-color splicing hair dyeing.
  • single-color hair dyeing may include dyeing the hair parts with a single color
  • double-color hair dyeing may include dyeing the hair parts with two colors
  • gradient hair dyeing may include dyeing the hair parts with at least one color to obtain
  • the color effect in the form of gradient, multi-color splicing hair dyeing can include dyeing hair parts with more than two colors.
  • the beautification color parameter can be any parameter input in the beautification operation to beautify the color of the target part of the user image.
  • the form of the beautification color parameter can be flexibly determined according to the actual situation.
  • the beautification color Parameters can be input RGB color parameters.
  • multiple beautification color parameters may also be input to realize the beautification operation on the target part.
  • the adjustment parameters may be input during the beautification operation, and are relevant parameters for beautifying and adjusting the target part of the user image.
  • the adjustment parameters may include various parameter types.
  • the adjustment parameters may include: The intensity (S, Strength), highlight (L, HighLight), middle tone (M, Midtones), glossiness or grayness of the target part to beautify. Based on the adjustment parameters, the way of beautifying and adjusting the target part of the user image can be referred to the following disclosed embodiments in detail, and will not be expanded here.
  • Fig. 2A shows a schematic diagram of an input interface of a beautification operation according to an embodiment of the present disclosure. As shown in Fig. 2A, in an example, such as hair dyeing operation, lip makeup operation, blush operation, eye shadow operation, and eyeliner operation can be selected on the input interface.
  • the input interface can also display a user image (in order to protect the objects in the picture, mosaic processing is performed on some parts of the face), and the user image can be collected by a camera.
  • the obtained currently captured image may also be a selected photo.
  • the user image and the beautified user image may be displayed in split screens on the input interface.
  • the average brightness of the target part may be the average brightness of multiple pixels included in the target part in the user image, and the average brightness may reflect the brightness of the target part in the user image.
  • the method of determining the average brightness of the target part is not limited in the embodiments of the present disclosure.
  • the brightness values of multiple pixels in the target part can be obtained directly to obtain the average brightness of the target part;
  • the average brightness of the target part can be determined indirectly by using the color value of the point.
  • the method of determining the average brightness can be referred to the following disclosed embodiments in detail, and will not be expanded here.
  • Step S12 adjusting the brightness of the pixel points in the target part according to the average brightness to obtain the target brightness of the pixel points in the target part.
  • the target brightness may be the brightness obtained by adjusting the brightness of the pixels in the target part.
  • the manner of adjusting the brightness of the pixel points in the target part according to the average brightness is not limited in the embodiments of the present disclosure.
  • the brightness of the pixels in the target part can be compared with the average brightness or a preset brightness threshold, and the brightness of each pixel can be adjusted according to the comparison result; in some possible implementations, the According to the average brightness, generate a lookup table (such as a color lookup table or a brightness lookup table) that matches the average brightness, and search in the corresponding lookup table based on the color or brightness of the pixel in the target part, so as to determine the pixel according to the lookup result
  • a lookup table such as a color lookup table or a brightness lookup table
  • Step S13 according to the beautification color parameters and the target brightness input in the beautification operation, determine the target color parameters of the pixels in the target part.
  • the beautification color parameters include RGB color parameters
  • three beautification colors in red (R, Red), green (G, Green) and blue (B, Blue) can be input respectively.
  • the target color parameter may be a color parameter obtained by dyeing the pixels in the target part according to the beautification color parameter.
  • the implementation form of the target color parameter can also be flexibly determined according to the actual situation, such as RGB color parameters, or color parameters in other color space forms, such as HSL (hue H, saturation S and brightness L) color parameters, or HSV (hue H, saturation S and lightness V) color parameters, etc.
  • the method of determining the target color parameter is not limited in the embodiments of the present disclosure.
  • the beautification color parameter can be converted into a form containing a brightness component to combine with the target brightness to obtain the target color parameters; in some possible implementations, the target brightness can also be converted into a form that matches the beautification color parameters to obtain the target color parameters; in some possible implementations, the beautification color parameters can also be combined with The target brightness is converted into a form that matches the target color parameters to obtain the target color parameters and the like.
  • step S13 refer to the following disclosed embodiments in detail, which will not be expanded here.
  • Step S14 according to the target color parameter, generate a target user image after beautifying the target part.
  • the target user image can be an image obtained by beautifying the target part of the user image based on the target color parameters, and the method of generating the target user image can be flexibly determined according to the actual situation.
  • the original color of the point is fused to obtain the target user image; or the target color parameter can be directly used as the color of each pixel in the target user image.
  • the brightness of the pixels in the target part is adjusted according to the average brightness to obtain the target brightness, so that based on the beautification operation
  • the input beautification color parameters and the target brightness determine the target color parameters of the pixels in the target part, so as to generate the target user image after beautifying the target part according to the target color parameters.
  • the color of the pixels in the target part can be beautified based on the brightness of the target part in the user image, and the color beautification effect and naturalness of the target part in the target user image can be improved; on the other hand, through the beautification operation Arbitrary input of beautification color parameters can enrich the color of beautification operation and improve the freedom of beautification operation.
  • receiving a beautification operation for the target part of the user image in step S11 may include:
  • Step S111 acquiring a user image in response to a user image confirmation operation.
  • Step S112 in response to the beautification operation, receiving at least one of the processing type, beautification color parameters and adjustment parameters input in the beautification operation.
  • the user image confirmation operation may be used to confirm the user image to be beautified.
  • the form of the user image confirmation operation can be flexibly determined according to the actual situation, and is not limited to the following disclosed embodiments.
  • the user image confirmation operation may include: transmitting the user image, or selecting the user image in the preset image library.
  • transmitting the user image may be that the user actively uploads the user image, and in response to the user image confirmation operation of transmitting the user image, the user image uploaded by the user may be acquired in a receiving manner.
  • the preset image library may include multiple preset user images, and the user may select one or more preset user images from the preset image library as the user image to be beautified. Therefore, in a possible implementation In this manner, in response to the user image confirmation operation of selecting a user image in the preset image library, the selected user image may be read from the preset image library by means of reading.
  • the beautification operation can refer to the above-mentioned disclosed embodiments.
  • the beautification operation can include outputting at least one parameter, so correspondingly, in response to the beautification operation, the processing type input in the beautification operation can be received , at least one of a beautification color parameter and an adjustment parameter.
  • the execution order of the user image confirmation operation and the beautification operation can be flexibly selected according to the actual situation.
  • the user can perform the user image confirmation operation first, and then perform the beautification operation, or input various parameters in the beautification operation first.
  • the user image confirmation operation or perform the user image confirmation operation and beautification operation at the same time, so correspondingly, at least one of the processing type, beautification color parameters, and adjustment parameters input in the user image acquisition and reception beautification operation, etc.
  • the execution order of the process can be flexibly selected according to the actual situation, which is not limited in this embodiment of the present disclosure.
  • the user image to be beautified can be flexibly acquired by receiving or reading according to the actual situation, and various parameters of the beautification operation can be flexibly acquired according to the parameters input by the user, which greatly improves the overall image quality.
  • the flexibility and interactivity of the processing method can improve the user's operation experience for beautification.
  • determining the average brightness of the target part in step S11 may include:
  • Step S11a performing segmentation processing on the user image to obtain target parts in the user image.
  • Step S11b according to the original colors of the multiple pixel points in the target portion, determine the brightness of the multiple pixel points in the target portion.
  • Step S11c according to the brightness of multiple pixel points in the target part, determine the average brightness of the target part.
  • the method of segmenting the user image is not limited in the embodiment of the present disclosure
  • the user image may be processed through a neural network with a segmentation function, or the target part in the user image may be segmented through a related segmentation algorithm , the image of the target part can also be segmented from the user's image through related operations of the user, for example, according to the boundary point or the circled range selected by the user.
  • Fig. 3 shows a schematic diagram of a target part obtained through segmentation processing according to an embodiment of the present disclosure.
  • the target part of the hair part can be used as a white foreground segmented from the image.
  • the plurality of pixels in the target part may be every pixel contained in the target part in the user image, or may be part of the pixels contained in the target part in the user image.
  • the original color may be the unprocessed color of multiple pixels in the target part in the user image.
  • each pixel in the target part may be traversed according to the position of the target part in the user image, To determine the original color of each pixel in the target site.
  • the color form of the original color may be flexibly determined according to actual conditions.
  • the original color may be in the form of RGB, HSL, or HSV.
  • the way to determine the brightness of multiple pixels in the target part can be flexibly determined according to the actual situation.
  • the components on the three channels of R, G, and B are calculated to obtain the brightness corresponding to the original color, or the color in RGB form is converted to HSL or HSV form, so that according to the L component or V component in the HSL or HSV form, to obtain the brightness of the pixel; in some possible implementations, when the original color is in the form of HSL or HSV, the brightness of the pixel can also be obtained directly according to the L or V component therein.
  • the original color in RGB form can be converted into a grayscale value by the following formula (1), and the converted grayscale value can be used as the brightness corresponding to the original color:
  • gray is the converted gray value (brightness)
  • r is the component of the original color in the R channel
  • g is the component of the original color in the G channel
  • b is the component of the original color in the B channel
  • K 1 , K 2 and K3 are the conversion coefficients on the B channel, G channel and R channel respectively
  • K1 can be in between 0.05 and 0.2
  • K 2 can be between 0.3 and 0.7
  • K 3 can be between 0.1 and 0.5.
  • the average value of these brightnesses can be calculated to obtain the average brightness;
  • the multiple pixels can be pixels obtained by sampling the pixels in the target part , in this case, the weight of the brightness of the pixel can be determined according to the position of the pixel, and the brightness of multiple pixels can be weighted and averaged according to the weight to obtain the average brightness.
  • the setting of the weight can be flexibly set according to the actual situation, which is not limited in this embodiment of the present disclosure.
  • the original colors of multiple pixels in the target part can be used to determine the average brightness of the target part, reducing the acquisition of other irrelevant data, improving the convenience and efficiency of the determination process, thereby improving the convenience of the entire image processing process extent and efficiency.
  • step S12 may include:
  • Step S121 generating a target color lookup table according to the average brightness.
  • Step S122 according to the original color of the pixel in the target part and the target color lookup table, determine the search color of the pixel in the target part.
  • Step S123 according to the search color, determine the target brightness of the pixel in the target part.
  • the target color lookup table can include a plurality of target output colors, and the corresponding relationship between each target output color parameter and the input color, wherein, the input color can be the color that is searched to the target color lookup table, and the target output color can be The output color corresponding to the input color found in the target color lookup table. For example, if the input color A is searched in the target color lookup table, the target output color B corresponding to the input color A can be found in the target color lookup table.
  • the corresponding relationship between colors in the target color lookup table can be flexibly set according to the actual situation, which is not limited in this embodiment of the present disclosure.
  • the multiple target output colors in the target color lookup table may be arranged in a gradient manner, and the arrangement manner is not limited in the embodiments of the present disclosure, and is not limited to the following disclosed embodiments.
  • the multiple target output colors in the target color lookup table can match the average brightness, so that the brightness of the color found according to the target color lookup table is adapted to the average brightness of the target part, thereby The determined target brightness matches the average brightness of the target part, thereby improving the brightness effect and naturalness of the beautification operation.
  • the method of generating the target color lookup table according to the average brightness is not limited in the embodiments of the present disclosure.
  • the output color of one or more preset color lookup tables can be adjusted according to the average brightness to obtain the target color lookup table.
  • generate a target color lookup table according to a certain mapping rule according to the average brightness For some possible implementation manners of step S121, reference may be made to the following disclosed embodiments in detail, which will not be expanded here.
  • the lookup color may be a color obtained by using the original color of the pixel point in the target part as an input color to search among multiple target output colors in the target color lookup table.
  • the color form of the lookup color can be determined according to the color form of the target output color in the target color lookup table.
  • the target output color in the target color lookup table can be in the form of RGB.
  • the lookup color is also Can be in RGB format.
  • the target brightness of the pixel in the target part can be determined.
  • calculation or form transformation can be performed based on the search color to determine the target brightness of the pixel in the target part; in some possible implementations
  • the search color can also be adjusted according to the adjustment parameters output in the beautification operation, and then calculation or form transformation is performed based on the adjusted color to determine the target brightness of the pixel points in the target part.
  • the target color lookup table can be generated according to the average brightness, and according to the target color lookup table, a unified color search and target brightness determination operation can be performed on multiple pixels in the target part to determine multiple pixels in the target part
  • the target brightness of each pixel point in the target part can be conveniently determined in batches by using the target color lookup table, thereby effectively improving the efficiency and convenience of the image processing process.
  • step S121 may include: according to the numerical relationship between the average brightness, the first preset brightness and the second preset brightness, look up the first preset color lookup table and the second preset color The table is interpolated to obtain a target color lookup table that matches the average brightness.
  • the first preset color lookup table and the second preset color lookup table may be preset arbitrary color lookup tables. Similar to the target color lookup table, the first preset color lookup table may include a plurality of first input colors and first output colors, and the corresponding relationship between the first output colors and the first input colors. Wherein, the corresponding relationship between the first output color and the first input color can be flexibly determined according to the actual situation. In a possible implementation, the first preset color lookup table can be used to increase the brightness of the pixel. In this In some cases, the brightness of the first output color is higher than the brightness of the corresponding first input color.
  • the second preset color lookup table may include a plurality of second input colors and second output colors, and the corresponding relationship between the second output colors and the second input colors. Wherein, the corresponding relationship between the second output color and the second input color can be flexibly determined according to the actual situation.
  • the second preset color lookup table can be used to reduce the brightness of the pixel. In this In some cases, the brightness of the second output color is lower than the brightness of the corresponding second input color.
  • a plurality of first output colors in the first preset color lookup table and a plurality of second output colors in the second preset color lookup table can be arranged in a gradient form, and its realization form can refer to the above disclosed embodiments The mentioned target color lookup table.
  • the first preset brightness can reflect the overall brightness of the first preset color lookup table. Therefore, in a possible implementation, the average brightness of multiple first input colors in the first preset color lookup table can be used as First preset brightness. In some possible implementation manners, the first preset brightness may also be obtained according to the average brightness of multiple first output colors in the first preset color lookup table.
  • the second preset brightness can reflect the overall brightness of the second preset color lookup table. Therefore, in a possible implementation, the second preset color lookup table can be the The average brightness is used as the second preset brightness. In some possible implementation manners, the second preset brightness may also be obtained according to the average brightness of multiple second output colors in the second preset color lookup table.
  • the difference between the two can be used to interpolate a target color lookup table that matches the average brightness.
  • the brightness difference between the first preset color lookup table and the second preset color lookup table can be flexibly set according to the actual situation.
  • the second preset brightness can be set to be higher than the first preset brightness. Brightness is used to reflect the brightness difference between the first preset color lookup table and the second preset color lookup table.
  • the first preset brightness can reflect the overall brightness of the first preset color lookup table
  • the second preset brightness can reflect the overall brightness of the second preset color lookup table, therefore, according to the average brightness, the first preset brightness
  • the numerical relationship between the first preset color lookup table and the second preset color lookup table in the interpolation process can be determined through the numerical relationship with the second preset brightness, and then a target color lookup table matching the average brightness can be obtained.
  • the interpolation process can be flexibly selected according to the actual situation, for example, the first preset color lookup table and the second preset color lookup table can be determined according to the ratio of the average brightness between the first preset brightness and the second preset brightness ratio, or by comparing the average brightness with the size of the first preset brightness and the second preset brightness, selectively the first output color of the first preset color lookup table or the first output color of the second preset color lookup table The second output color is used as the target output color and so on.
  • the first preset color lookup table and the second preset color lookup table can be determined according to the ratio of the average brightness between the first preset brightness and the second preset brightness ratio, or by comparing the average brightness with the size of the first preset brightness and the second preset brightness, selectively the first output color of the first preset color lookup table or the first output color of the second preset color lookup table
  • the second output color is used as the target output color and so on.
  • FIG. 5 shows a schematic diagram of a first preset color lookup table according to an embodiment of the present disclosure
  • FIG. 6 shows a schematic diagram of a second preset color lookup table according to an embodiment of the present disclosure.
  • the first preset color lookup table includes a plurality of gradient colors with natural transitions as the first output color
  • the second preset color lookup table includes multiple gradient colors with natural transitions as the second output color (due to gray Due to the limitation shown in the degree chart, the colors with different shades in the picture are actually gradient colors with color differences).
  • the first output color corresponding to the first input color can be found from the first preset color lookup table.
  • the first output color can be found from the second preset color lookup table. to the second output color corresponding to the second input color.
  • the overall brightness of the first output color of the first preset color lookup table is higher than the overall brightness of the second output color of the second preset color lookup table, and because the second preset color lookup table A preset color lookup table is used to increase pixel brightness, and a second preset color lookup table is used to reduce pixel brightness, so correspondingly, the first preset brightness matched by the first preset color lookup table can be lower than the second preset brightness A second preset brightness for color lookup table matching.
  • two preset color lookup tables with different brightness conditions can be interpolated according to the average brightness to obtain a target color lookup table matching the average brightness, thereby reducing the processing required in the process of generating the target color lookup table
  • the amount of data reduces the difficulty of generating the target color lookup table, and improves the convenience, feasibility, and efficiency of image processing.
  • only the first preset color lookup table and the second preset color lookup table with different brightness need to be stored in advance, reducing the The pre-stored data storage capacity further improves the convenience of image processing while reducing the pressure on hardware storage, thereby achieving the purpose of saving costs.
  • FIG. 7A shows a flowchart of an image processing method according to an embodiment of the present disclosure.
  • step S121 may include:
  • Step S1211 according to the average brightness, the numerical relationship between the first preset brightness and the second preset brightness, the average brightness is updated to obtain an updated average brightness.
  • Step S1212 according to the ratio between the brightness difference value and the brightness range value, determine the interpolation ratio of the first preset color lookup table and the second preset color lookup table.
  • Step S1213 Interpolate the first output color and the second output color according to the interpolation ratio to obtain the target output color in the target color lookup table.
  • updating the average brightness may be the brightness determined after updating the average brightness.
  • the average brightness may exceed the brightness range defined by the first preset brightness and the second preset brightness.
  • the interpolation ratios of the first preset color lookup table and the second preset color lookup table cannot be determined according to the average brightness. Therefore, in a possible implementation, the first preset brightness and the second preset color lookup table can be Set the brightness to limit the value of the average brightness, so as to facilitate the realization of subsequent interpolation.
  • step S1211 the manner of updating the average brightness can be flexibly determined according to actual conditions, and is not limited to the following disclosed embodiments.
  • step S1211 may include:
  • the average brightness is used as the updated average brightness.
  • the first preset brightness is used as the updated average brightness.
  • the second preset brightness is used as the updated average brightness.
  • the average luminance when the average luminance does not exceed the luminance range determined by the first preset luminance and the second preset luminance, the average luminance can be directly used as the updated average luminance, and the average luminance of the two exceeds the first preset luminance.
  • the preset brightness whose average brightness is closer may be used as the updated average brightness.
  • the determination process of step S1211 can be expressed by the following formula (2):
  • mean_gray_update clamp(mean_gray, dark_gray, light_gray) (2)
  • mean_gray_update is to update the average brightness
  • mean_gray is the average brightness
  • dark_gray is the first preset brightness
  • light_gray is the second preset brightness
  • clamp(a, min, max) is an interval limiting function, which is used to limit a to min and Between the range of max, when a exceeds the range limited by min and max, the value of min or max will be returned.
  • the value of the average brightness can be limited according to the first preset brightness and the second preset brightness, so as to reduce the The resulting inability to interpolate improves the feasibility of obtaining the target color lookup table, thereby improving the feasibility and scope of application of the entire image processing method.
  • the brightness difference value can be used to determine the brightness difference between the updated average brightness and the first preset brightness or the second preset brightness, because the updated average brightness determined according to step S1211 belongs to the first preset brightness and the second preset brightness.
  • the first brightness difference between the updated average brightness and the first preset brightness can be used as the brightness difference value
  • the second brightness difference between the second preset brightness and the updated average brightness can also be used as the brightness difference value
  • both the first brightness difference and the second brightness difference can also be used as the brightness difference value.
  • the brightness range value may be the brightness difference formed between the second preset brightness and the first preset brightness.
  • the determination process of the brightness range value may be expressed by the following formula (3):
  • range is the brightness range value.
  • the proportional position of the average brightness between the first preset brightness and the second preset brightness can be determined, based on the proportional position, the first preset color can be determined respectively
  • the interpolation scale for the lookup table, and the interpolation scale for the second preset color lookup table can be expressed by the following formulas (4) and (5):
  • ratio1 (mean_gray_update-dark_gray)/range (4)
  • ratio1 is the interpolation ratio of the first preset color lookup table
  • ratio2 is the interpolation ratio of the second preset color lookup table
  • the first output color and the second output color corresponding to the position in the first preset color lookup table and the second preset color lookup table can be interpolated according to the interpolation ratio to obtain the target color lookup table Multiple target output colors for .
  • the way of interpolation can be flexibly determined according to the actual situation, and is not limited to the following disclosed embodiments.
  • the interpolation process in step S1213 can be expressed by the following formula (6):
  • out_color is the target output color
  • dark_color is the first output color in the first preset color lookup table
  • light_color is the second output color in the second preset color lookup table
  • the numerical relationship between the average brightness between the first preset brightness and the second preset brightness can be fully utilized to determine the first output color in the first preset color lookup table and the second preset color lookup table The interpolation ratio of the second output color in the target color, and then obtain the target output color of the target color lookup table.
  • the target output color in the target color lookup table can be adapted to the average brightness of the target part in the user image, even when the user When the target part of the image is darker or brighter, the target color lookup table can also be used to obtain a search color with more appropriate brightness, thereby improving the beautification effect and naturalness of the target part in the target user's image.
  • step S123 may include:
  • the brightness corresponding to the lookup color is used as the target brightness.
  • the lookup color is the target output color looked up from the target color lookup table
  • the lookup color can be in RGB form
  • the target brightness of the lookup color can be determined according to the RGB color value of the lookup color
  • the search color is converted into another color format, such as HSL format, and the brightness component L in the converted color format is used as the target brightness.
  • the target brightness can be obtained according to the brightness corresponding to the search color. Since the search color is obtained through the target color lookup table and matches the average brightness of the target part, the obtained target brightness can be obtained according to the natural reality, thus Improve the effect of image processing.
  • step S123 may include:
  • Step S1231 according to the adjustment parameters input in the beautification operation, adjust the color scale of the search color to obtain the adjusted search color.
  • Step S1232 taking the adjusted brightness corresponding to the search color as the target brightness.
  • the adjustment parameters can use one or more parameters in the adjustment parameters to perform corresponding processing on the search color. For example, you can adjust the highlights, midtones, or highlights and midtones in the parameters. Tone, etc., to adjust the gradation of the searched color.
  • the process of adjusting the color scale of the search color according to the highlight in the adjustment parameter can be expressed by the following formulas (7) to (9):
  • look_color_update.r clamp(look_color.r/highlight,0.0,1.0) (7)
  • look_color_update.g clamp(look_color.g/highlight,0.0,1.0) (8)
  • look_color_update.b clamp(look_color.b/highlight,0.0,1.0) (9)
  • look_color_update.r, look_color_update.g and look_color_update.b are the R channel component, B channel component and G channel component of the adjusted lookup color respectively
  • look_color.r, look_color.g and look_color.b are the R channel component of the lookup color respectively.
  • Channel component, B channel component and G channel component, highlight is the highlight parameter input in the adjustment parameter.
  • the process of adjusting the color scale of the search color according to the midtone in the adjustment parameter can be expressed by the following formulas (10) to (12):
  • look_color_update.r pow(look_color.r,1.0/midtone) (10)
  • look_color_update.g pow(look_color.g,1.0/midtone) (11)
  • look_color_update.b pow(look_color.b,1.0/midtone) (12)
  • midtone is the midtone parameter input in the adjustment parameter
  • pow(x,y) means to return x raised to the power of y.
  • the adjustment parameters may also include other parameters.
  • the way of adjusting the level of the search color may also be flexibly changed, which is not limited to the embodiments of the present disclosure.
  • the target brightness may be obtained according to the adjusted brightness corresponding to the search color.
  • the search color can be adjusted according to the adjustment parameters, and the target brightness can be obtained according to the brightness corresponding to the adjusted search color, so that the target brightness can adapt to the adjustment parameters input by the user and increase the distance between the user and the user.
  • the degree of interaction can improve user experience, and it can also improve the flexibility and freedom of beautification operations.
  • step S13 may include:
  • Step S131 converting the beautification color parameters to a preset color space to obtain converted color parameters, wherein the preset color space includes brightness components.
  • Step S132 according to the target brightness, adjust the brightness component in the converted color parameters to obtain the adjusted converted color parameters.
  • Step S133 Determine the target color parameter according to the adjusted conversion color parameter.
  • the preset color space may be any color space form such as RGB color space, HSV color space, or HSL color space, and which color space to choose can be flexibly set according to actual conditions.
  • the HSL color space may be used as a preset color space.
  • the HSV color space may also be used as the preset color space. In this case, the brightness component V in the middle of the HSV color space may be used as the brightness component.
  • the conversion color parameter may be the color form of the beautification color parameter in the preset color space, and the way of converting the beautification color parameter to the preset color space may be flexibly determined according to the color form of the beautification color parameter and the form of the preset color space.
  • the beautification color parameters can be in the form of RGB
  • the preset color space can be the HSL color space.
  • the beautification color parameters can be set according to the mapping relationship between RGB and HSL color spaces. Perform conversion to obtain the converted color parameters.
  • the converted color parameter may be a color parameter obtained by adjusting the converted color parameter according to the target brightness.
  • the way of adjustment can be flexibly determined according to the actual situation, and is not limited to the following disclosed embodiments.
  • the hue component and saturation component in the converted color parameter can be retained, and the brightness component in the converted color parameter can be replaced with the value of the target brightness to obtain the adjusted converted color parameter; in some possible
  • the hue component and saturation component in the converted color parameter can also be used as the hue component and saturation component in the adjusted converted color parameter, and the target brightness and the brightness component in the converted color parameter are fused, Use the fused value as the luminance component in the adjusted transformed color parameter, etc.
  • the target color parameter can be determined.
  • the adjusted conversion color parameter can be used as the target color parameter; in some possible implementations, in order to facilitate subsequent color processing,
  • the adjusted conversion color parameters can be converted into RGB form to obtain target color parameters.
  • the beautification color parameters can be adjusted by using the target brightness in the preset color space, so that by selecting an appropriate preset color space, it is convenient to obtain the target color parameters of each pixel in the target part in batches, so as to improve The efficiency and convenience of image processing.
  • step S14 may include:
  • Step S141 according to the adjustment parameters input in the beautification operation, determine the fusion strength of the target color parameters
  • Step S142 according to the fusion strength, the target color parameter is fused with the original color of the corresponding pixel in the target part to obtain the target user image.
  • the adjustment parameters input in the beautification operation may also include related parameters used to determine the fusion strength of the target color parameters, such as the strength parameters mentioned in the above-mentioned disclosed embodiments. In this case, according to The strength parameter input in the beautification operation determines the fusion strength of the target color parameter.
  • the fusion strength may reflect the weight of the target color parameter in the fusion process, and based on the fusion strength, the target color parameter and the corresponding original color may be weighted and fused to obtain the target user image.
  • the fusion strength of the target color parameters can be flexibly determined according to the adjustment parameters input by the user, and the target user image whose fusion strength and fusion effect meet the user's needs can be obtained, while improving the flexibility of image processing, and improving the interaction with the user Degree and flexibility of landscaping operations.
  • a target user image in which a target part in the user image is beautified can be obtained.
  • Fig. 8 shows a schematic diagram of a user image
  • a schematic diagram of a target user image in Fig. 9 is obtained after beautifying the target part in the user image in Fig. mosaic processing)
  • Figure 8 and Figure 9 are displayed as grayscale images, so the change in hair color is not obvious, but it can still be seen through comparison that the glossiness of the hair parts in Figure 8 and Figure 9 has obvious changes and The change is relatively natural, so according to the image processing methods proposed in the above-mentioned disclosed embodiments, the target user image with a real and natural hair dyeing effect, obvious dyed hair color and no exposure can be obtained.
  • the methods proposed in the embodiments of the present disclosure may further include:
  • the target user image is displayed.
  • the preview operation may be an operation selected by the user, which requires a real-time preview of the image of the target user.
  • the image of the target user may be displayed on the human-computer interaction interface for the user to view.
  • the generated image of the target user may also be actively displayed in real time.
  • the image of the target user in response to the preview operation, the image of the target user can be displayed in real time, the degree of interaction with the user can be improved, and the experience of the user can be improved.
  • FIG. 10 shows a block diagram of an image processing device according to an embodiment of the present disclosure.
  • the image processing device 20 may include:
  • the receiving module 21 is configured to receive the beautification operation for the target part of the user image, and determine the average brightness of the target part.
  • the adjustment module 22 is configured to adjust the brightness of the pixel points in the target part according to the average brightness, so as to obtain the target brightness of the pixel points in the target part.
  • the determination module 23 is configured to determine the target color parameters of the pixels in the target part according to the beautification color parameters and the target brightness input in the beautification operation.
  • the beautification module 24 is configured to generate a target user image after beautifying the target part according to the target color parameters.
  • the adjustment module is configured to: generate a target color lookup table according to the average brightness, wherein the target color lookup table includes multiple target output colors, and the brightness of the multiple target output colors matches the average brightness; According to the original color of the pixel point in the target part and the target color lookup table, determine the search color of the pixel point in the target part; according to the search color, determine the target brightness of the pixel point in the target part.
  • the adjustment module is configured to: look up the first preset color lookup table and the second preset color according to the numerical relationship among the average brightness, the first preset brightness, and the second preset brightness
  • the table is interpolated to obtain a target color lookup table matching the average brightness; wherein, the first preset color lookup table includes the first input color, and the first preset brightness includes a plurality of first input colors in the first preset color lookup table The average brightness of the color; the second preset color lookup table includes a second input color, and the second preset brightness includes the average brightness of a plurality of second input colors in the second preset color lookup table; the second preset brightness is higher than the first - preset brightness.
  • the first preset color lookup table further includes a first output color corresponding to the first input color, the brightness of the first output color is higher than the brightness of the first input color; the second preset color The lookup table also includes a second output color corresponding to the second input color, the brightness of the second output color is lower than the brightness of the second input color; the adjustment module is configured to: according to the average brightness, the first preset brightness and the second preset Numerical relationship between brightness, update the average brightness to obtain the updated average brightness; determine the interpolation ratio of the first preset color lookup table and the second preset color lookup table according to the ratio between the brightness difference value and the brightness range value , wherein the brightness difference value includes at least one of the following: update the difference between the average brightness and the first preset brightness, update the difference between the average brightness and the second preset brightness, and the brightness range value includes the second preset The difference between the brightness and the first preset brightness; according to the interpolation ratio, the first output color and the second output color are interpol
  • the adjustment module is configured to: take the average brightness as the updated average brightness when the average brightness is between the first preset brightness and the second preset brightness; In the case of preset brightness, the first preset brightness is used as the updated average brightness; when the average brightness is higher than the second preset brightness, the second preset brightness is used as the updated average brightness.
  • the adjustment module is configured to: use the brightness corresponding to the search color as the target brightness; or, according to the adjustment parameters input in the beautification operation, adjust the color scale of the search color to obtain the adjusted search color; The brightness corresponding to the adjusted search color is used as the target brightness.
  • the determination module is configured to: convert the beautification color parameters to a preset color space to obtain converted color parameters, wherein the preset color space includes brightness components; The brightness component is adjusted to obtain an adjusted converted color parameter; and the target color parameter is determined according to the adjusted converted color parameter.
  • the receiving module is configured to: segment the user image to obtain the target part in the user image; determine the color of the multiple pixels in the target part according to the original colors of the multiple pixels in the target part Brightness: Determine the average brightness of the target part according to the brightness of multiple pixels in the target part.
  • the beautification operation includes a hair dyeing operation
  • the target part includes a hair part
  • the present disclosure proposes an image processing method based on the example of FIG. 11 , including the following process:
  • Step 301 receiving the beautification color parameter 10 (target_color) in RGB form input by the user on the input interface, the processing type selected on the input interface (such as single color, double color, gradient or multi-color splicing 11 in the figure) and the adjustment of the input Parameters (intensity 12, glossiness 13, grayness 14, etc. in the figure).
  • the processing type selected on the input interface such as single color, double color, gradient or multi-color splicing 11 in the figure
  • the adjustment of the input Parameters intensity 12, glossiness 13, grayness 14, etc. in the figure.
  • Step 302 acquire the user image 16 determined by the user by uploading photos and videos 15 or selecting a model.
  • step 303 the hair part in the user image is identified, and the hair part segmentation result can be obtained by performing segmentation processing on the hair part in the user image.
  • Step 304 according to the segmentation result of the hair part, the original color of the pixels located in the hair part is converted into a gray value through the formula (1) in the above-mentioned disclosed embodiment, and the average gray value of these pixels is used as the hair color
  • the mean brightness of the part (mean_gray).
  • Step 305 obtain a pre-made first preset color lookup table (dark_table) for dark-colored hair, and a second preset color lookup table (light_table) for light-colored hair, the first preset color lookup table can make dark hair For brighter tones, a second preset color lookup table can darken bright hair tones.
  • Step 306 according to the obtained average brightness, the first preset brightness (dark_gray) matched by the first preset color lookup table, and the second preset brightness (light_gray) matched by the second preset color lookup table, for the second A preset color lookup table and a second preset color lookup table are interpolated to obtain a target color lookup table.
  • the interpolation process is as follows:
  • Step 3061 obtain the first output color (dark_color) of the first preset color lookup table and the second output color (light_color) of the second preset color lookup table respectively.
  • step 3062 the mean_gray is restricted between dark_gray and light_gray according to the formula (2) in the above-mentioned disclosed embodiments, and the updated mean brightness (mean_gray_update) is obtained.
  • Step 3063 through formulas (3) to (6) in the above-mentioned disclosed embodiments, use interpolation calculation to obtain the target output color (out_color) of the target color lookup table, thereby obtaining the target color lookup table, which is convenient for dyeing darker and brighter In the case of hair, adjust the hair to the appropriate brightness.
  • Step 307 use the original color of the hair part as the input color, look up the color in the target color lookup table, obtain the lookup color (look_color), keep the brightness of the lookup color, and form it with the hue component and saturation component of the input beautification color parameter The new color is used as the target color parameter.
  • step 307 the implementation process of step 307 is as follows:
  • Step 3071 using the original color of the hair part as the input color, performing a color lookup in the target color lookup table to obtain the lookup color (look_color), and converting the lookup color into the HSL color space;
  • Step 3072 converting the beautification color parameter target_color to the HSL color space to obtain the converted color parameter
  • Step 3073 combine the H component and S component in the converted color parameter, and the L component after the search color is converted to the HSL color space, to obtain the target color parameter.
  • the user can also input adjustment parameters in the beautification operation, and adjust the color scale of the search color according to the adjustment parameters to obtain the adjusted search color, convert the H component and S component in the color parameter, and can also be used with the adjustment
  • the L component of the final search color in the HSL color space is combined to obtain the target color parameter.
  • step 308 the target color parameter and the original color are fused according to the intensity in the adjustment parameter input by the user to generate the target user image.
  • Step 309 when the user clicks "preview AR real-time makeup effect 17" in the input interface, display the image of the target user in the input interface.
  • the target color look-up table after brightness neutralization can be determined through the first preset color look-up table and the second preset color look-up table, and the original color of the hair part can be used to look up the color in the target color look-up table.
  • the brightness of the color search result, and the hue and saturation of the input beautification color parameters form the target color parameters to realize the hair dyeing operation and improve the hair dyeing effect and naturalness; and the beautification color parameters can support users to adjust the color value arbitrarily, and can also adjust the brightness arbitrarily Value and other parameters to improve the freedom and interactive experience of beautification operations.
  • the image processing method proposed in the application example of this disclosure can not only be applied to the beautification operation of the hair part in the user image, but also can be extended to the beautification operation of other parts, such as lip makeup, blush, foundation or eye shadow, etc. , with different types of beautification operations, the image processing method proposed in the application examples of the present disclosure can be flexibly expanded and modified accordingly.
  • Embodiments of the present disclosure also provide a computer-readable storage medium, on which computer program instructions are stored, and the above-mentioned method is implemented when the computer program instructions are executed by a processor.
  • the computer readable storage medium may be a volatile computer readable storage medium or a nonvolatile computer readable storage medium.
  • An embodiment of the present disclosure also proposes an electronic device, including: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured as the above method.
  • the memory above can be a volatile memory (Volatile Memory), such as a random access memory (Random Access Memory, RAM); or a non-volatile memory (Non-Volatile Memory), such as a read-only memory (Read-Only Memory).
  • Volatile Memory such as a random access memory (Random Access Memory, RAM); or a non-volatile memory (Non-Volatile Memory), such as a read-only memory (Read-Only Memory).
  • Only Memory, ROM read-only memory
  • flash memory Flash Memory
  • HDD Hard Disk Drive
  • SSD solid-state drive
  • the above-mentioned processor can be an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a digital signal processor (Digital Signal Processing, DSP), a digital signal processing device (Digital Signal Processing Device, DSPD), a programmable logic device (programmable logic At least one of device, PLD), field programmable gate array (Field Programmable Gate Array, FPGA), central processing unit (Central Processing Unit, CPU), controller, microcontroller, microprocessor.
  • ASIC Application Specific Integrated Circuit
  • DSP Digital Signal Processing
  • DSPD Digital Signal Processing Device
  • programmable logic device programmable logic At least one of device, PLD
  • field programmable gate array Field Programmable Gate Array, FPGA
  • CPU Central Processing Unit
  • controller microcontroller, microprocessor
  • Electronic devices may be provided as terminals, servers, or other forms of devices.
  • the embodiments of the present disclosure further provide a computer program, which implements the above method when the computer program is executed by a processor.
  • FIG. 12 is a block diagram of an electronic device 800 according to an embodiment of the present disclosure.
  • the electronic device 800 may be a terminal such as a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, or a personal digital assistant.
  • the electronic device 800 may include one or more of the following components: a processing component 802, a memory 804, a power supply component 806, a multimedia component 808, an audio component 810, an input/output (Input/Output, I/O) interface 812 , sensor component 814 , and communication component 816 .
  • the processing component 802 generally controls the overall operations of the electronic device 800, such as those associated with display, telephone calls, data communications, camera operations, and recording operations.
  • the processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above method. Additionally, processing component 802 may include one or more modules that facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802 .
  • the memory 804 is configured to store various types of data to support operations at the electronic device 800 . Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phonebook data, messages, pictures, videos, and the like. Memory 804 may be implemented by any type or combination of volatile or non-volatile storage devices.
  • the power supply component 806 provides power to various components of the electronic device 800 .
  • Power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for electronic device 800 .
  • the multimedia component 808 includes a screen providing an output interface between the electronic device 800 and the user.
  • the audio component 810 is configured to at least one of output and input an audio signal.
  • the audio component 810 includes a microphone (Microphone, MIC), and when the electronic device 800 is in an operation mode, such as a calling mode, a recording mode and a voice recognition mode, the microphone is configured to receive an external audio signal. Received audio signals may be stored in memory 804 or sent via communication component 816 .
  • the audio component 810 also includes a speaker for outputting audio signals.
  • the I/O interface 812 provides an interface between the processing component 802 and a peripheral interface module, which may be a keyboard, a click wheel, a button, and the like. These buttons may include, but are not limited to: a home button, volume buttons, start button, and lock button.
  • Sensor assembly 814 includes one or more sensors for providing status assessments of various aspects of electronic device 800 .
  • the communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices.
  • the electronic device 800 can access wireless networks based on communication standards or a combination thereof.
  • the communication component 816 receives a broadcast signal or broadcast related personnel information from an external broadcast management system via a broadcast channel.
  • the communication component 816 also includes a Near Field Communication (NFC) module to facilitate short-range communication.
  • NFC Near Field Communication
  • electronic device 800 may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable A programmable gate array (FPGA), controller, microcontroller, microprocessor or other electronic component implementation for performing the methods described above.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGA field programmable A programmable gate array
  • controller microcontroller, microprocessor or other electronic component implementation for performing the methods described above.
  • a non-volatile computer-readable storage medium such as a memory 804 including computer program instructions, which can be executed by the processor 820 of the electronic device 800 to implement the above method.
  • the present disclosure may be at least one of the following: a system, a method, and a computer program product.
  • a computer program product may include a computer readable storage medium having computer readable program instructions thereon for causing a processor to implement various aspects of the present disclosure.
  • a computer readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device.
  • a computer readable storage medium may be, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • the computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or downloaded to an external computer or external storage device via at least one of a network such as the Internet, a local area network, a wide area network, or a wireless network .
  • the network may include at least one of: copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, edge servers.
  • a network adapter card or a network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing/processing device .
  • Computer program instructions for performing the operations of the present disclosure may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or programmed in at least one source or object code written in any combination of languages.
  • Computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server implement.
  • each block in a flowchart or block diagram may represent a module, a portion of a program segment, or an instruction that includes one or more Executable instructions.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • block diagrams, flowcharts, or each block in the flowcharts and block diagrams, and combinations of blocks in the block diagrams, flowcharts, or flowcharts and block diagrams may be used to perform the specified function or action. It may be implemented by a dedicated hardware-based system, or it may be implemented by a combination of dedicated hardware and computer instructions.
  • the image processing method includes: receiving a beautification operation for a target part of a user image, and determining the average brightness of the target part; adjusting the brightness of pixels in the target part according to the average brightness, Obtaining the target brightness of the pixels in the target part; determining the target color parameters of the pixels in the target part according to the beautification color parameters input in the beautification operation and the target brightness; according to the target color parameters, generating An image of the target user after beautifying the target part.
  • the brightness is to determine the target color parameters of the pixels in the target part, so as to generate the target user image after beautifying the target part according to the target color parameters.
  • the color of the pixels in the target part can be beautified based on the brightness of the target part in the user image, and the color beautification effect and naturalness of the target part in the target user image can be improved; on the other hand, through the beautification operation Arbitrary input of beautification color parameters can enrich the color of beautification operation and improve the freedom of beautification operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)

Abstract

本公开实施例涉及一种图像处理方法及装置、电子设备、存储介质及计算机程序产品。所述方法包括:接收针对用户图像的目标部位的美化操作,确定所述目标部位的平均亮度;根据所述平均亮度,对所述目标部位中像素点的亮度进行调整,得到所述目标部位中像素点的目标亮度;根据所述美化操作中输入的美化颜色参数以及所述目标亮度,确定所述目标部位中像素点的目标颜色参数;根据所述目标颜色参数,生成对所述目标部位进行美化后的目标用户图像。

Description

图像处理方法及装置、电子设备、存储介质及计算机程序产品
相关申请的交叉引用
本公开基于申请号为202110874879.2、申请日为2021年7月30日、申请名称为“图像处理方法及装置、电子设备和存储介质”的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本公开作为参考。
技术领域
本公开涉及计算机视觉领域,尤其涉及一种图像处理方法及装置、电子设备、存储介质及计算机程序产品。
背景技术
随着计算机视觉技术的发展,改变图像中头发的颜色甚至纹理等染发操作已愈加广泛地应用于图像处理领域。然而,通过图像处理进行染发的过程中,常常会有曝光严重或染色不明显等染发效果不自然的问题。
发明内容
本公开实施例提出了一种图像处理方法及装置、电子设备、存储介质及计算机程序产品。
根据本公开实施例的一方面,提供了一种图像处理方法,包括:
接收针对用户图像的目标部位的美化操作,确定所述目标部位的平均亮度;根据所述平均亮度,对所述目标部位中像素点的亮度进行调整,得到所述目标部位中像素点的目标亮度;根据所述美化操作中输入的美化颜色参数以及所述目标亮度,确定所述目标部位中像素点的目标颜色参数;根据所述目标颜色参数,生成对所述目标部位进行美化后的目标用户图像。
根据本公开实施例的一方面,提供了一种图像处理装置,包括:
接收模块,配置为接收针对用户图像的目标部位的美化操作,确定所述目标部位的平均亮度;调整模块,配置为根据所述平均亮度,对所述目标部位中像素点的亮度进行调整,得到所述目标部位中像素点的目标亮度;确定模块,配置为根据所述美化操作中输入的美化颜色参数以及所述目标亮度,确定所述目标部位中像素点的目标颜色参数;美化模块,配置为根据所述目标颜色参数,生成对所述目标部位进行美化后的目标用户图像。
根据本公开实施例的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:执行上述图像处理方法。
根据本公开实施例的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述图像处理方法。
根据本公开实施例的一方面,提供了一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令被计算机设备的处理器运行时,实现上述图像处理方法。
在本公开实施例中,通过接收对用户图像目标部位的美化操作,并确定目标部位的平均亮度,根据平均亮度,对目标部位中像素点的亮度进行调整,得到目标亮度,从而基于美化操作中输入的美化颜色参数以及目标亮度,确定目标部位中像素点的目标颜色参数,以根据目标颜色参数生成对目标部位进行美化后的目标用户图像。通过上述过程,一方面可以基于 用户图像中目标部位的亮度情况来对目标部位中像素点的颜色进行美化,提高目标用户图像中目标部位的颜色美化效果和自然程度;另一方面通过美化操作中任意输入的美化颜色参数可以丰富美化操作的颜色,提升美化操作的自由度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开一实施例的图像处理方法的流程图;
图2A示出根据本公开一实施例的美化操作的输入界面示意图;
图2B示出根据本公开一实施例的图像处理方法的流程图;
图2C示出根据本公开一实施例的图像处理方法的流程图;
图3示出根据本公开一实施例的通过分割处理得到目标部位的示意图;
图4示出根据本公开一实施例的图像处理方法的流程图;
图5示出根据本公开一实施例的第一预设颜色查找表的示意图;
图6示出根据本公开一实施例的第二预设颜色查找表的示意图;
图7A示出根据本公开一实施例的图像处理方法的流程图;
图7B示出根据本公开一实施例的图像处理方法的流程图;
图7C示出根据本公开一实施例的图像处理方法的流程图;
图7D示出根据本公开一实施例的图像处理方法的流程图;
图8示出根据本公开一实施例的用户图像的示意图;
图9示出根据本公开一实施例的目标用户图像的示意图;
图10示出根据本公开一实施例的图像处理装置的框图;
图11示出根据本公开一应用示例的图像处理方法的流程图;
图12示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的细节。本领域技术人员应当理解,没有某些细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的图像处理方法的流程图,该方法可以应用于图像处理设备或图像处理系统等,图像处理设备可以为终端设备、服务器或者其他处理设备等。其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一个示例中,该图像处理方法可以应用于云端服务器或本地服务器, 云端服务器可以为公有云服务器,也可以为私有云服务器,根据实际情况灵活选择即可。
在一些可能的实现方式中,该图像处理方法也可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
如图1所示,在一种可能的实现方式中,所述图像处理方法由电子设备执行,电子设备可以为上述图像处理设备或云端服务器、本地服务器,所述方法可以包括:
步骤S11,接收针对用户图像的目标部位的美化操作,确定目标部位的平均亮度。
其中,用户图像可以是包含用户目标部位的任意图像,用户图像中可以包含一个或多个用户,也可以包含一个或多个用户的目标部位,其实现形式可以根据实际情况灵活决定,在本公开实施例中不做限制。
目标部位可以是用户图像中需要进行美化的任意部位,目标部位包含哪些部位,其实现形式同样可以根据美化操作的实际情况灵活决定,比如针对于染发操作的美化操作,目标部位可以是头发部位,针对于修容操作的美化操作,目标部位可以是脸部部位,针对于唇妆操作的美化操作,目标部位可以是唇部部位等。
美化操作,可以是对用户图像的目标部位进行美化处理的任意操作,比如染发操作、唇妆操作、眼妆操作或是修容操作等各类操作。美化操作包含的操作内容可以根据实际情况灵活决定,不局限于下述各公开实施例。在一种可能的实现方式中,该美化操作可以包括指示对用户图像中用户的目标部位进行美化处理的操作;在一些可能的实现方式中,该美化操作还可以包括输入至少一种参数等,比如处理类型、美化颜色参数或是调整参数等。
处理类型可以是美化操作中所执行的类型,随着美化操作形式的不同,美化操作中包含的处理类型也可以灵活发生变化,美化操作可以包含至少一种处理类型。在一种可能的实现方式中,在美化操作包括染发操作的情况下,处理类型可以包括单色染发、双色染发、渐变染发或是多色拼接染发中的至少一种。其中,单色染发可以包括通过单种颜色对头发部位进行染色处理,双色染发可以包括通过两种颜色对头发部位进行染色处理,渐变染发可以包括通过至少一种颜色对头发部位进行染色处理,得到渐变形式的颜色效果,多色拼接染发可以包括通过两种以上的颜色对头发部位进行染色处理。
美化颜色参数可以是在美化操作中输入的,对用户图像的目标部位的颜色进行美化的任意参数,美化颜色参数的形式可以根据实际情况灵活决定,在一种可能的实现方式中,该美化颜色参数可以是输入的RGB颜色参数。在一些可能的实现方式中,在对目标部位进行双色染发或是多色拼接染发的情况下,也可以输入多个美化颜色参数,以实现对目标部位的美化操作。
调整参数可以是在美化操作中输入的,对用户图像的目标部位进行美化调整的相关参数,调整参数可以包括各种参数类型,在一些可能的实现方式中,调整参数可以包括:对用户图像的目标部位的颜色进行美化的强度(S,Strength)、高光(L,HighLight)、中间调(M,Midtones)、光泽度或是灰白度等。基于调整参数,对用户图像的目标部位进行美化调整的方式可以详见下述各公开实施例,在此先不做展开。
图2A示出根据本公开一实施例的美化操作的输入界面示意图,如图2A所示,在一个示例中,可以在输入界面选择如染发操作、唇妆操作、腮红操作、眼影操作、眼线操作、睫毛刷操作、眉毛操作或粉底操作等各种类型的美化操作,并在输入界面中选定美化操作的处理类型,如图2A所示选择染发操作中的彩虹色染发的处理类型,还可以在输入界面中输入美化颜色参数,比如图2A所示的可以输入RGB三个颜色通道的颜色值,还可以输入其他的调整参数,比如图2A中示出的强度S、高光L以及中间调M等。
基于图2A还可以看出,在一个示例中,输入界面还可以显示出用户图像(为了对图中对象进行保护,对人脸部分部位进行了马赛克处理),该用户图像可以为通过相机采集所得到的当前采集图像,也可以为选中的照片,在一个示例中,还可以在输入界面将用户图像和美化后的用户图像进行分屏显示。
目标部位的平均亮度,可以是用户图像中目标部位包含的多个像素点的平均亮度,该平均亮度可以反映用户图像中目标部位的亮度情况。确定目标部位的平均亮度的方式在本公开 实施例中不做限制,比如可以直接获取目标部位中多个像素点的亮度值,来得到目标部位的平均亮度;或是根据目标部位中多个像素点的颜色值来间接确定目标部位的平均亮度等,确定平均亮度的方式可以详见下述各公开实施例,在此先不做展开。
步骤S12,根据平均亮度,对目标部位中像素点的亮度进行调整,得到目标部位中像素点的目标亮度。
其中,目标亮度可以目标部位中像素点进行亮度调整后所得到的亮度。根据平均亮度,对目标部位中像素点的亮度进行调整的方式,在本公开实施例中不做限制。在一些可能的实现方式中,可以将目标部位中像素点的亮度与平均亮度或是预设的亮度阈值进行比较,并根据比较结果调整各像素点的亮度;在一些可能的实现方式中,可以根据平均亮度,生成与平均亮度匹配的查找表(比如颜色查找表或亮度查找表)等,并基于目标部位中像素点的颜色或亮度在对应的查找表中进行查找,从而根据查找结果确定像素点的目标亮度等。步骤S12的一些可能的实现方式可以详见下述各公开实施例,在此先不做展开。
步骤S13,根据美化操作中输入的美化颜色参数以及目标亮度,确定目标部位中像素点的目标颜色参数。
其中,美化颜色参数的实现形式可以参考上述公开实施例。在一种可能的实现方式中,在美化颜色参数包括RGB颜色参数的情况下,可以分别输入美化颜色在红色(R,Red)、绿色(G,Green)和蓝色(B,Blue)三个颜色通道上颜色参数值,得到输入的美化颜色参数。
目标颜色参数可以是目标部位中的像素点,根据美化颜色参数进行染色处理后所得到的颜色参数。目标颜色参数的实现形式同样可以根据实际情况灵活决定,比如可以是RGB颜色参数,或是其他颜色空间形式下的颜色参数,比如HSL(色调H,饱和度S和亮度L)颜色参数,或是HSV(色调H,饱和度S和明度V)颜色参数等。
根据美化颜色参数以及目标亮度,确定目标颜色参数的方式在本公开实施例中不做限制,在一些可能的实现方式中,可以将美化颜色参数转换为包含亮度分量的形式,以和目标亮度结合来得到目标颜色参数;在一些可能的实现方式中,也可以将目标亮度转换为与美化颜色参数相匹配的形式来得到目标颜色参数;在一些可能的实现方式中,还可以将美化颜色参数与目标亮度均转换为与目标颜色参数相匹配的形式来得到目标颜色参数等。步骤S13的一些可能的实现方式可以详见下述各公开实施例,在此同样先不做展开。
步骤S14,根据目标颜色参数,生成对目标部位进行美化后的目标用户图像。
其中,目标用户图像,可以是基于目标颜色参数对用户图像的目标部位进行美化所得到的图像,生成目标用户图像的方式可以根据实际情况灵活决定,比如可以将目标颜色参数与目标部位中各像素点的原始颜色进行融合来得到目标用户图像;或者也可以直接将目标颜色参数作为目标用户图像中各像素点的颜色等。步骤S14的一些可能的实现方式可以详见下述各公开实施例,在此先不做展开。
在本公开实施例中,通过接收对用户图像目标部位的美化操作,并确定目标部位的平均亮度,根据平均亮度,对目标部位中像素点的亮度进行调整,得到目标亮度,从而基于美化操作中输入的美化颜色参数以及目标亮度,确定目标部位中像素点的目标颜色参数,以根据目标颜色参数生成对目标部位进行美化后的目标用户图像。通过上述过程,一方面可以基于用户图像中目标部位的亮度情况来对目标部位中像素点的颜色进行美化,提高目标用户图像中目标部位的颜色美化效果和自然程度;另一方面通过美化操作中任意输入的美化颜色参数可以丰富美化操作的颜色,提升美化操作的自由度。
在一种可能的实现方式中,如图2B所示,步骤S11中接收针对用户图像的目标部位的美化操作,可以包括:
步骤S111,响应于用户图像确认操作,获取用户图像。
步骤S112,响应于美化操作,接收美化操作中输入的处理类型、美化颜色参数以及调整参数中的至少一种。
其中,用户图像确认操作可以用于确认待进行美化操作的用户图像。该用户图像确认操作的形式可以根据实际情况灵活决定,不局限于下述各公开实施例。在一种可能的实现方式 中,用户图像确认操作可以包括:传输用户图像,或者,在预设图像库中选择用户图像。
其中,传输用户图像可以是用户主动上传用户图像,响应于该传输用户图像的用户图像确认操作,可以通过接收的方式,获取用户上传的用户图像。
预设图像库可以包括多个预设的用户图像,用户可以从预设图像库中选择一个或多个预设的用户图像,作为待进行美化操作的用户图像,因此,在一种可能的实现方式中,响应于该在预设图像库中选择用户图像的用户图像确认操作,可以通过读取的方式,从预设图像库中读取被选中的用户图像。
美化操作的实现方式可以参考上述各公开实施例,如上述各公开实施例所述,美化操作可以包括输出至少一种参数,因此相应地,响应于美化操作,可以接收美化操作中输入的处理类型、美化颜色参数以及调整参数中的至少一种。
在本公开实施例中,用户图像确认操作和美化操作的执行顺序可以根据实际情况灵活选择,比如用户可以先进行用户图像确认操作,再进行美化操作,也可以先输入美化操作中的各类参数,再进行用户图像确认操作,或是同时执行用户图像确认操作与美化操作等,因此相应地,获取用户图像和接收美化操作中输入的处理类型、美化颜色参数以及调整参数中的至少一种等过程的执行顺序可以根据实际情况灵活选择,在本公开实施例中不做限制。
通过本公开实施例,可以根据实际情况,通过接收或读取的方式灵活获取待进行美化操作的用户图像,并根据用户输入的参数情况,灵活获取美化操作的各类参数,大大提升了整个图像处理方法的灵活程度和交互性,提升用户进行美化的操作体验。
在一种可能的实现方式中,如图2C所示,步骤S11中确定所述目标部位的平均亮度,可以包括:
步骤S11a,对用户图像进行分割处理,得到用户图像中的目标部位。
步骤S11b,根据目标部位中多个像素点的原始颜色,确定目标部位中多个像素点的亮度。
步骤S11c,根据目标部位中多个像素点的亮度,确定目标部位的平均亮度。
其中,对用户图像进行分割处理的方式在本公开实施例中不做限制,可以通过具有分割功能的神经网络对用户图像进行处理,也可以通过相关的分割算法对用户图像中的目标部位进行分割,还可以通过用户的相关操作,比如根据用户选择的边界点或圈定的范围,来从用户图像中分割出目标部位的图像。
图3示出根据本公开一实施例的通过分割处理得到目标部位的示意图,如图3所示,在一个示例中,通过对用户图像进行分割处理,可以将头发部位这一目标部位作为白色前景从图像中分割出来。
目标部位中的多个像素点可以是用户图像中目标部位内包含的每个像素点,也可以是对用户图像中目标部位包含的部分像素点。原始颜色可以是目标部位中多个像素点在用户图像中未经处理过的颜色,在一些可能的实现方式中,可以根据目标部位在用户图像中的位置,遍历目标部位中的各像素点,以确定目标部位中各像素点的原始颜色。
原始颜色的颜色形式可以根据实际情况灵活决定,在一些可能的实现方式中,该原始颜色可以为RGB形式、HSL形式或是HSV等形式的颜色。
根据目标部位中多个像素点的原始颜色,来确定目标部位中多个像素点的亮度的方式可以根据实际情况灵活决定,比如在原始颜色为RGB形式的颜色的情况下,可以根据原始颜色在R、G和B三个通道上的分量进行计算,得到与原始颜色对应的亮度,或是将RGB形式的颜色转换为HSL或HSV形式,以根据HSL或HSV形式中的L分量或V分量,来得到像素点的亮度;在一些可能的实现方式中,在原始颜色为HSL或HSV形式的情况下,也可以直接根据其中的L或V分量来得到像素点的亮度。
在一个示例中,可以通过下述公式(1)将RGB形式的原始颜色转换为灰度值,并将转换后的灰度值作为与原始颜色对应的亮度:
gray=K 1*b+K 2*g+K 3*r     (1)
其中,gray为转换后的灰度值(亮度),r为原始颜色在R通道的分量,g为原始颜色在 G通道的分量,b为原始颜色在B通道上的分量,K 1、K 2和K 3分别为在B通道、G通道和R通道上的转换系数,各转换系数的取值可以根据实际情况灵活决定,不局限于本公开各实施例,在一个示例中,K 1可以在0.05~0.2之间,K 2可以在0.3~0.7之间,K 3可以在0.1~0.5之间。
根据目标部位中多个像素点的亮度,可以计算这些亮度的平均值,得到平均亮度;在一些可能的实现方式中,多个像素点可以是对目标部位中进行像素点采样所得到的像素点,在这种情况下,可以根据像素点的位置确定其亮度的权重,并根据权重对多个像素点的亮度进行加权平均,得到平均亮度。其中,权重的设置可以根据实际情况灵活设定,在本公开实施例中不做限制。
通过本公开实施例,可以利用目标部位中多个像素点的原始颜色来确定目标部位的平均亮度,减少其他无关数据的获取,提升确定过程的便捷程度和效率,从而提高整个图像处理过程的便捷程度和效率。
图4示出根据本公开一实施例的图像处理方法的流程图,如图4所示,在一种可能的实现方式中,步骤S12可以包括:
步骤S121,根据平均亮度,生成目标颜色查找表。
步骤S122,根据目标部位中像素点的原始颜色以及目标颜色查找表,确定目标部位中像素点的查找颜色。
步骤S123,根据查找颜色,确定目标部位中像素点的目标亮度。
其中,目标颜色查找表可以包含多个目标输出颜色,以及各目标输出颜色参数与输入颜色之间的对应关系,其中,输入颜色可以为向目标颜色查找表进行查找的颜色,目标输出颜色可以为在目标颜色查找表中查找到的与输入颜色对应的输出颜色。举例来说,比如根据输入颜色A在目标颜色查找表中查找,可以在目标颜色查找表中找到与输入颜色A对应的目标输出颜色B。目标颜色查找表中颜色之间的对应关系可以根据实际情况灵活设定,在本公开实施例中不做限制。在一种可能的实现方式中,目标颜色查找表中的多个目标输出颜色可以通过渐变形式进行排列,排列方式在本公开实施例中不做限制,不局限于下述各公开实施例。
在一些可能的实现方式中,目标颜色查找表中的多个目标输出颜色可以与平均亮度相匹配,从而使得根据目标颜色查找表查找到的颜色,其亮度与目标部位的平均亮度相适应,从而使得确定的目标亮度与目标部位的平均亮度相匹配,提高美化操作的亮度效果和自然程度。
根据平均亮度生成目标颜色查找表的方式在本公开实施例中不做限制,比如可以根据平均亮度,对预先设置好的一个或多个颜色查找表的输出颜色进行调整,得到目标颜色查找表,或是根据平均亮度,按照一定的映射规则来生成目标颜色查找表等。步骤S121的一些可能的实现方式可以详见下述各公开实施例,在此先不做展开。
查找颜色,可以是将目标部位中像素点的原始颜色作为输入颜色,来在目标颜色查找表中的多个目标输出颜色中进行查找所得到的颜色。其中,原始颜色的实现方式可以详见上述各公开实施例。查找颜色的颜色形式可以根据目标颜色查找表中目标输出颜色的颜色形式所确定,在一种可能的实现方式中,目标颜色查找表中的目标输出颜色可以为RGB形式,相应的,查找颜色也可以为RGB形式。
根据查找颜色,可以确定目标部位中像素点的目标亮度,在一些可能的实现方式中,可以基于查找颜色进行计算或形式变换,以确定目标部位中像素点的目标亮度;在一些可能的实现方式中,也可以根据美化操作中输出的调整参数对查找颜色进行调整,再基于调整后的颜色进行计算或形式变换,来确定目标部位中像素点的目标亮度等。步骤S123的一些可能的实现方式同样可以详见下述各公开实施例,在此先不做展开。
通过本公开实施例,可以根据平均亮度来生成目标颜色查找表,根据目标颜色查找表,对目标部位中多个像素点进行统一的颜色查找和目标亮度确定操作,以确定目标部位中多个像素点的目标亮度,通过上述过程,可以利用目标颜色查找表,便捷批量地确定目标部位中 各像素点的目标亮度,从而有效提升图像处理过程的效率和便捷性。
在一种可能的实现方式中,步骤S121可以包括:根据平均亮度、第一预设亮度和第二预设亮度之间的数值关系,对第一预设颜色查找表和第二预设颜色查找表进行插值处理,得到与平均亮度匹配的目标颜色查找表。
其中,第一预设颜色查找表和第二预设颜色查找表可以是预先设定的任意颜色查找表。与目标颜色查找表类似,第一预设颜色查找表可以包含多个第一输入颜色和第一输出颜色,以及第一输出颜色与第一输入颜色之间的对应关系。其中,第一输出颜色与第一输入颜色之间的对应关系可以根据实际情况灵活确定,在一种可能的实现方式中,第一预设颜色查找表可以用于提升像素的亮度,在这种情况下,第一输出颜色的亮度高于对应的第一输入颜色的亮度。
同理,第二预设颜色查找表可以包含多个第二输入颜色和第二输出颜色,以及第二输出颜色与第二输入颜色之间的对应关系。其中,第二输出颜色与第二输入颜色之间的对应关系可以根据实际情况灵活确定,在一种可能的实现方式中,第二预设颜色查找表可以用于降低像素的亮度,在这种情况下,第二输出颜色的亮度低于对应的第二输入颜色的亮度。
第一预设颜色查找表中的多个第一输出颜色,以及第二预设颜色查找表中的多个第二输出颜色均可以以渐变形式进行排列,其实现形式可以参考上述公开实施例中提到的目标颜色查找表。
第一预设亮度可以反映第一预设颜色查找表整体的亮度情况,因此,在一种可能的实现方式中,可以将第一预设颜色查找表中多个第一输入颜色的平均亮度作为第一预设亮度。在一些可能的实现方式中,也可以根据第一预设颜色查找表的多个第一输出颜色的平均亮度得到第一预设亮度。
同理,第二预设亮度可以反映第二预设颜色查找表整体的亮度情况,因此,在一种可能的实现方式中,可以将第二预设颜色查找表中多个第二输入颜色的平均亮度作为第二预设亮度。在一些可能的实现方式中,也可以根据第二预设颜色查找表的多个第二输出颜色的平均亮度得到第二预设亮度。
在一些可能的实现方式中,第一预设颜色查找表和第二预设颜色查找表的整体亮度情况存在差异,便于利用二者的差异来插值出与平均亮度相匹配的目标颜色查找表。第一预设颜色查找表与第二预设颜色查找表的亮度差异可以根据实际情况灵活设定,在一种可能的实现方式中,可以将第二预设亮度设置为高于第一预设亮度,用于体现第一预设颜色查找表和第二预设颜色查找表的亮度区别。
由于第一预设亮度可以反映第一预设颜色查找表的整体亮度情况,第二预设亮度可以反映第二预设颜色查找表的整体亮度情况,因此,根据平均亮度、第一预设亮度和第二预设亮度之间的数值关系,可以确定第一预设颜色查找表和第二预设颜色查找表在插值过程中的比例情况,继而得到与平均亮度匹配的目标颜色查找表。其中,插值的过程可以根据实际情况灵活选择,比如可以根据平均亮度在第一预设亮度和第二预设亮度之间的比例,确定第一预设颜色查找表和第二预设颜色查找表的比例,或是通过比较平均亮度与第一预设亮度和第二预设亮度的大小,选择性地将第一预设颜色查找表的第一输出颜色或第二预设颜色查找表的第二输出颜色作为目标输出颜色等。插值的一些可能的实现方式可以详见下述各公开实施例,在此先不做展开。
图5示出根据本公开一实施例的第一预设颜色查找表的示意图,图6示出根据本公开一实施例的第二预设颜色查找表的示意图,从图中可以看出,在一个示例中,第一预设颜色查找表中包括多个自然过渡的渐变色作为第一输出颜色,第二预设颜色查找表中包括多个自然过渡的渐变色作为第二输出颜色(由于灰度图显示的限制,图中深浅不同的颜色实际上为具有颜色区别的渐变色)。基于第一输入颜色,可以从第一预设颜色查找表中查找到与第一输入颜色对应的第一输出颜色,同理,基于第二输入颜色,可以从第二预设颜色查找表中查找到与第二输入颜色对应的第二输出颜色。通过图中的对比可以看出,在一个示例中,第一预设颜色查找表的第一输出颜色的整体亮度高于第二预设颜色查找表的第二输出颜色的整体 亮度,而由于第一预设颜色查找表用于提升像素亮度,第二预设颜色查找表用于降低像素亮度,因此相应地,第一预设颜色查找表匹配的第一预设亮度可以低于第二预设颜色查找表匹配的第二预设亮度。
通过本公开实施例,可以根据平均亮度来对两个亮度情况不同的预设颜色查找表进行插值,得到与平均亮度匹配的目标颜色查找表,从而减少生成目标颜色查找表的过程中所需要处理的数据量,降低生成目标颜色查找表的难度,提升图像处理的便捷程度、可行性和效率,同时仅需预先存储亮度不同的第一预设颜色查找表和第二预设颜色查找表,降低预先存储的数据存储量,进一步提升图像处理便捷性的同时,降低硬件存储的压力,从而达到节约成本的目的。
图7A示出根据本公开一实施例的图像处理方法的流程图,如图7A所示,在一种可能的实现方式中,步骤S121可以包括:
步骤S1211,根据平均亮度、第一预设亮度与第二预设亮度之间的数值关系,对平均亮度进行更新,得到更新平均亮度。
步骤S1212,根据亮度差值与亮度范围值之间的比例,确定第一预设颜色查找表以及第二预设颜色查找表的插值比例。
步骤S1213,根据插值比例,对第一输出颜色与第二输出颜色进行插值,得到目标颜色查找表的目标输出颜色。
其中,更新平均亮度可以是对平均亮度进行更新后所确定的亮度,在一些可能的实现方式中,平均亮度可能超出第一预设亮度和第二预设亮度所限定的亮度范围,在这种情况下,无法根据平均亮度来确定第一预设颜色查找表和第二预设颜色查找表的插值比例,因此,在一种可能的实现方式汇总,可以通过第一预设亮度和第二预设亮度,对平均亮度的数值进行限定,以便于后续插值的实现。
步骤S1211中,对平均亮度进行更新的方式可以根据实际情况灵活决定,不局限于下述各公开实施例。在一种可能的实现方式中,步骤S1211可以包括:
在平均亮度属于第一预设亮度与第二预设亮度之间的情况下,将平均亮度作为更新平均亮度。
在平均亮度低于第一预设亮度的情况下,将第一预设亮度作为更新平均亮度。
在平均亮度高于第二预设亮度的情况下,将第二预设亮度作为更新平均亮度。
通过上述公开实施例可以看出,在平均亮度不超过第一预设亮度和第二预设亮度所确定的亮度范围的情况下,可以将平均亮度直接作为更新平均亮度,二者平均亮度超过第一预设亮度和第二预设亮度所确定的亮度范围的情况下,可以将平均亮度更为接近的预设亮度作为更新平均亮度。在一个示例中,步骤S1211的确定过程可以通过下述公式(2)进行表示:
mean_gray_update=clamp(mean_gray,dark_gray,light_gray)  (2)
其中,mean_gray_update为更新平均亮度,mean_gray为平均亮度,dark_gray为第一预设亮度,light_gray为第二预设亮度,clamp(a,min,max)为区间限定函数,用于将a限定在min和max这一范围之间,当a超出min和max所限定的范围的情况下,将会返回min或max的值。
通过本公开实施例,可以根据第一预设亮度和第二预设亮度,对平均亮度的值进行限制,以减少由于平均亮度超出第一预设亮度和第二预设亮度所构成的范围而导致的无法插值的情况,提升得到目标颜色查找表的可行性,继而提升整个图像处理方法的可行性和适用范围。
步骤S1212中,亮度差值可以用于确定更新平均亮度与第一预设亮度或第二预设亮度之间的亮度差异情况,由于根据步骤S1211确定的更新平均亮度属于第一预设亮度和第二预设亮度的范围内,因此,在一种可能的实现方式中,可以将更新平均亮度与第一预设亮度之间的第一亮度差作为亮度差值,在一种可能的实现方式中,也可以将第二预设亮度与更新平均亮度之间的第二亮度差作为亮度差值,在一种可能的实现方式中,还可以将第一亮度差和第 二亮度差均作为亮度差值。
亮度范围值可以是第二预设亮度与第一预设亮度之间所形成的亮度差值,在一个示例中,该亮度范围值的确定过程可以通过下述公式(3)进行表示:
range=light_gray-dark_gray    (3)
其中,range为亮度范围值。
根据亮度差值和亮度范围值之间的比例,可以确定平均亮度在第一预设亮度和第二预设亮度之间所处的比例位置,基于该比例位置,可以分别确定第一预设颜色查找表的插值比例,以及第二预设颜色查找表的插值比例。在一个示例中,确定插值比例的过程可以通过下述公式(4)和(5)进行表示:
ratio1=(mean_gray_update-dark_gray)/range   (4)
ratio2=1.0-ratio1     (5)
其中,ratio1为第一预设颜色查找表的插值比例,ratio2为第二预设颜色查找表的插值比例。
在确定插值比例以后,可以将第一预设颜色查找表和第二预设颜色查找表中,位置对应的第一输出颜色和第二输出颜色按照插值比例进行插值计算,得到目标颜色查找表中的多个目标输出颜色。插值的方式可以根据实际情况灵活决定,不局限于下述各公开实施例。在一个示例中,步骤S1213中插值的过程可以通过下述公式(6)进行表示:
out_color=dark_color*ratio2+light_color*ratio1    (6)
其中,out_color为目标输出颜色,dark_color为第一预设颜色查找表中的第一输出颜色,light_color为第二预设颜色查找表中的第二输出颜色。
通过本公开实施例,可以充分利用平均亮度在第一预设亮度和第二预设亮度之间的数值关系,确定第一预设颜色查找表中第一输出颜色和第二预设颜色查找表中第二输出颜色的插值比例,继而得到目标颜色查找表的目标输出颜色,通过上述过程,可以使得目标颜色查找表中的目标输出颜色与用户图像中目标部位的平均亮度相适应,即使在用户图像的目标部位较暗或较亮的情况下,也可以通过该目标颜色查找表,得到亮度较为合适的查找颜色,从而提升目标用户图像中目标部位的美化效果和自然程度。
在一种可能的实现方式中,步骤S123可以包括:
将查找颜色对应的亮度作为目标亮度。
其中,由于查找颜色是从目标颜色查找表中查找到的目标输出颜色,因此查找颜色可以为RGB形式,在这种情况下,可以根据查找颜色的RGB颜色值确定查找颜色的目标亮度,也可以将查找颜色转换为其他的颜色形式,比如HSL形式,并将转换后的颜色形式中的亮度分量L,作为目标亮度。
通过本公开实施例,可以根据查找颜色对应的亮度来得到目标亮度,由于查找颜色是通过目标颜色查找表得到的,与目标部位的平均亮度相匹配,因此得到的目标亮度可以根据自然真实,从而提升图像处理的效果。
在一种可能的实现方式中,如图7B所示,步骤S123可以包括:
步骤S1231,根据美化操作中输入的调整参数,对查找颜色进行色阶调整,得到调整后的查找颜色。
步骤S1232,将调整后的查找颜色对应的亮度,作为目标亮度。
其中,调整参数的实现形式可以参考上述各公开实施例。
基于调整参数对查找颜色进行色阶调整,可以是利用调整参数中的一个或多个参数,对查找颜色进行对应处理,举例来说,可以通过调整参数中的高光、中间调、或高光和中间调等,对查找颜色的色阶进行调整处理。
在一个示例中,根据调整参数中的高光对查找颜色的色阶进行调整处理的过程,可以通过下述公式(7)至(9)进行表示:
look_color_update.r=clamp(look_color.r/highlight,0.0,1.0)   (7)
look_color_update.g=clamp(look_color.g/highlight,0.0,1.0)   (8)
look_color_update.b=clamp(look_color.b/highlight,0.0,1.0)    (9)
其中,look_color_update.r、look_color_update.g和look_color_update.b分别为调整后的查找颜色的R通道分量、B通道分量和G通道分量,look_color.r、look_color.g和look_color.b分别为查找颜色的R通道分量、B通道分量和G通道分量,highlight为调整参数中输入的高光参数。
在一个示例中,根据调整参数中的中间调对查找颜色的色阶进行调整处理的过程,可以通过下述公式(10)至(12)进行表示:
look_color_update.r=pow(look_color.r,1.0/midtone)   (10)
look_color_update.g=pow(look_color.g,1.0/midtone)   (11)
look_color_update.b=pow(look_color.b,1.0/midtone)  (12)
其中,midtone为调整参数中输入的中间调参数,pow(x,y)表示返回x的y次幂。
在一些可能的实现方式中,调整参数中还可以包括其他的参数,随着参数的不同,对查找颜色进行色阶调整的方式也可以灵活发生变化,不局限于本公开实施例。
确定调整后的查找颜色对应的亮度的方式,可以参考上述公开实施例中确定查找颜色对应的亮度的方式。在一些可能的实现方式中,根据调整后的查找颜色对应的亮度,可以得到目标亮度。
通过本公开实施例,可以根据调整参数对查找颜色进行调整,并根据调整后的查找颜色对应的亮度来得到目标亮度,从而使得目标亮度与用户输入的调整参数相适应,加大与用户之间的交互程度,提升用户体验,也可以提升美化操作的灵活程度和自由性。
在一种可能的实现方式中,如图7C所示,步骤S13可以包括:
步骤S131,将美化颜色参数转换至预设颜色空间,得到转换颜色参数,其中,预设颜色空间包括亮度分量。
步骤S132,根据目标亮度,对转换颜色参数中的亮度分量进行调整,得到调整后的转换颜色参数。
步骤S133,根据调整后的转换颜色参数,确定目标颜色参数。
其中,预设颜色空间可以是RGB颜色空间、HSV颜色空间或是HSL颜色空间等任意的颜色空间形式,选择哪种颜色空间可以根据实际情况灵活设定。在一种可能的实现方式中,为了便于进行亮度调整,可以将HSL颜色空间作为预设颜色空间。在一些可能的实现方式中,也可以将HSV颜色空间作为预设颜色空间,在这种情况下,可以将HSV颜色空间中间的明度分量V作为亮度分量。
转换颜色参数可以是美化颜色参数在预设颜色空间中的颜色形式,将美化颜色参数转换至预设颜色空间的方式,可以根据美化颜色参数的颜色形式和预设颜色空间的形式所灵活确定。在一种可能的实现方式中,美化颜色参数可以是RGB形式,预设颜色空间可以为HSL颜色空间,在这种情况下,可以根据RGB和HSL颜色空间之间的映射关系,将美化颜色参数进行转换,得到转换颜色参数。
转换颜色参数可以是通过目标亮度对转换颜色参数进行调整所得到的颜色参数。调整的方式可以根据实际情况灵活决定,不局限于下述各公开实施例。在一种可能的实现方式中,可以保留转换颜色参数中的色调分量和饱和度分量,并将转换颜色参数中的亮度分量替换为目标亮度的值,得到调整后的转换颜色参数;在一些可能的实现方式中,也可以将转换颜色参数中的色调分量和饱和度分量作为调整后的转换颜色参数中的色调分量和饱和度分量,并 将目标亮度与转换颜色参数中的亮度分量进行融合,将融合后的值作为调整后的转换颜色参数中的亮度分量等。
根据调整后的转换颜色参数,可以确定目标颜色参数,在一些可能的实现方式中,可以将调整后的转换颜色参数作为目标颜色参数;在一些可能的实现方式中,为了便于后续的颜色处理,可以将调整后的转换颜色参数转换为RGB形式,得到目标颜色参数。
通过本公开实施例,可以在预设颜色空间中,利用目标亮度对美化颜色参数进行调整,从而通过选择合适的预设颜色空间,便于批量得到目标部位中各像素点的目标颜色参数,以提高图像处理的效率和便捷程度。
在一些可能的实现方式中,如图7D所示,步骤S14可以包括:
步骤S141,根据美化操作中输入的调整参数,确定目标颜色参数的融合强度;
步骤S142,根据融合强度,将目标颜色参数与目标部位中对应像素点的原始颜色进行融合,得到目标用户图像。
在一些可能的实现方式中,美化操作中输入的调整参数还可以包括用于确定目标颜色参数融合强度的相关参数,比如上述公开实施例中提到的强度参数,在这种情况下,可以根据美化操作中输入的强度参数,确定目标颜色参数的融合强度。
其中,融合强度可以反映目标颜色参数在融合过程中所占的权重,基于该融合强度,可以将目标颜色参数与对应的原始颜色进行加权融合,得到目标用户图像。
通过本公开实施例,可以根据用户输入的调整参数,灵活确定目标颜色参数的融合强度,得到融合强度与融合效果符合用户需求的目标用户图像,提升图像处理灵活性的同时,提升与用户的交互程度和美化操作的灵活性。
基于上述各公开实施例,可以得到对用户图像中目标部位进行美化的目标用户图像。图8示出了用户图像的示意图,对图8中的用户图像中目标部位进行美化后得到图9中的目标用户图像的示意图(为了对图像中的对象进行保护,各图中人脸的部分部位进行了马赛克处理),图8和图9由于显示为灰度图,故发色变化不明显,但通过对比仍可以看出,图8和图9中的头发部位光泽度等有明显变化且变化较为自然,故根据上述各公开实施例提出的图像处理方法,可以得到染发效果真实自然,染发颜色明显且无曝光的目标用户图像。
在一些可能的实现方式中,本公开实施例中提出的方法还可以包括:
响应于预览操作,显示目标用户图像。
其中,预览操作可以为用户选择的,需要对目标用户图像进行实时预览的操作。响应于该预览操作,可以在人机交互界面中显示目标用户图像,以供用户查看。
在一些可能的实现方式中,也可以将生成的目标用户图像主动进行实时显示。
通过本公开实施例,可以响应于预览操作,实时显示目标用户图像,提升与用户之间的交互程度,提升用户的使用感受。
图10示出根据本公开一实施例的图像处理装置的框图。如图10所示,所述图像处理装置20可以包括:
接收模块21,配置为接收针对用户图像的目标部位的美化操作,确定目标部位的平均亮度。
调整模块22,配置为根据平均亮度,对目标部位中像素点的亮度进行调整,得到目标部位中像素点的目标亮度。
确定模块23,配置为根据美化操作中输入的美化颜色参数以及目标亮度,确定目标部位中像素点的目标颜色参数。
美化模块24,配置为根据目标颜色参数,生成对目标部位进行美化后的目标用户图像。
在一种可能的实现方式中,调整模块配置为:根据平均亮度,生成目标颜色查找表,其中,目标颜色查找表包括多个目标输出颜色,多个目标输出颜色的亮度与平均亮度相匹配;根据目标部位中像素点的原始颜色以及目标颜色查找表,确定目标部位中像素点的查找颜色;根据查找颜色,确定目标部位中像素点的目标亮度。
在一种可能的实现方式中,调整模块配置为:根据平均亮度、第一预设亮度和第二预 设亮度之间的数值关系,对第一预设颜色查找表和第二预设颜色查找表进行插值处理,得到与平均亮度匹配的目标颜色查找表;其中,第一预设颜色查找表包括第一输入颜色,第一预设亮度包括第一预设颜色查找表中多个第一输入颜色的平均亮度;第二预设颜色查找表包括第二输入颜色,第二预设亮度包括第二预设颜色查找表中多个第二输入颜色的平均亮度;第二预设亮度高于第一预设亮度。
在一种可能的实现方式中,第一预设颜色查找表还包括与第一输入颜色对应的第一输出颜色,第一输出颜色的亮度高于第一输入颜色的亮度;第二预设颜色查找表还包括与第二输入颜色对应的第二输出颜色,第二输出颜色的亮度低于第二输入颜色的亮度;调整模块配置为:根据平均亮度、第一预设亮度与第二预设亮度之间的数值关系,对平均亮度进行更新,得到更新平均亮度;根据亮度差值与亮度范围值之间的比例,确定第一预设颜色查找表以及第二预设颜色查找表的插值比例,其中,亮度差值包括以下至少之一:更新平均亮度与第一预设亮度之间的差值,更新平均亮度与第二预设亮度之间的差值,亮度范围值包括第二预设亮度与第一预设亮度的差值;根据插值比例,对第一输出颜色与第二输出颜色进行插值,得到目标颜色查找表的目标输出颜色。
在一种可能的实现方式中,调整模块配置为:在平均亮度属于第一预设亮度与第二预设亮度之间的情况下,将平均亮度作为更新平均亮度;在平均亮度低于第一预设亮度的情况下,将第一预设亮度作为更新平均亮度;在平均亮度高于第二预设亮度的情况下,将第二预设亮度作为更新平均亮度。
在一种可能的实现方式中,调整模块配置为:将查找颜色对应的亮度作为目标亮度;或者,根据美化操作中输入的调整参数,对查找颜色进行色阶调整,得到调整后的查找颜色;将调整后的查找颜色对应的亮度,作为目标亮度。
在一种可能的实现方式中,确定模块配置为:将美化颜色参数转换至预设颜色空间,得到转换颜色参数,其中,预设颜色空间包括亮度分量;根据目标亮度,对转换颜色参数中的亮度分量进行调整,得到调整后的转换颜色参数;根据调整后的转换颜色参数,确定目标颜色参数。
在一种可能的实现方式中,接收模块配置为:对用户图像进行分割处理,得到用户图像中的目标部位;根据目标部位中多个像素点的原始颜色,确定目标部位中多个像素点的亮度;根据目标部位中多个像素点的亮度,确定目标部位的平均亮度。
在一种可能的实现方式中,美化操作包括染发操作,目标部位包括头发部位。
应用场景示例
在计算机视觉领域,如何通过图像处理使得染发效果更自然成为目前一个亟待解决的问题。
本公开基于图11的示例提出了一种图像处理方法,包括如下过程:
步骤301,接收用户在输入界面输入的RGB形式的美化颜色参数10(target_color)、在输入界面选择的处理类型(如图中的单色、双色、渐变或多色拼接11等)以及输入的调整参数(如图中的强度12、光泽度13和灰白度14等)。
步骤302,获取用户通过上传照片视频15或选择模特所确定的用户图像16。
步骤303,对用户图像中的头发部位进行识别,通过对用户图像中的头发部位进行分割处理,可得到头发部位的分割结果。
步骤304,根据头发部位的分割结果,通过上述公开实施例中的公式(1),将位于头发部位中的像素的原始颜色转换为灰度值,并将这些像素点的平均灰度值作为头发部位的平均亮度(mean_gray)。
步骤305,获取预先制作好的针对暗色头发的第一预设颜色查找表(dark_table),以及针对亮色头发的第二预设颜色查找表(light_table),第一预设颜色查找表可以将暗色发色调亮,第二预设颜色查找表可以将亮色发色调暗。
步骤306,根据得到的平均亮度,第一预设颜色查找表所匹配的第一预设亮度(dark_gray),和第二预设颜色查找表所匹配的第二预设亮度(light_gray),对第一预设颜色 查找表和第二预设颜色查找表进行插值,得到目标颜色查找表。
在一种可能的实现方式中,插值过程如下:
步骤3061,分别获取第一预设颜色查找表的第一输出颜色(dark_color)和第二预设颜色查找表的第二输出颜色(light_color)。
步骤3062,通过上述公开实施例中的公式(2),将mean_gray限制在dark_gray和light_gray之间,得到更新平均亮度(mean_gray_update)。
步骤3063,通过上述公开实施例中的公式(3)至(6),利用插值计算得到目标颜色查找表的目标输出颜色(out_color),从而得到目标颜色查找表,便于在染色较暗与较亮头发的情况下,将头发调节到合适的亮度。
步骤307,将头发部位的原始颜色作为输入颜色,在目标颜色查找表中进行查色,得到查找颜色(look_color),保留查找颜色的亮度,与输入的美化颜色参数的色相分量以及饱和度分量组成新的颜色作为目标颜色参数。
在一种可能的实现方式中,步骤307的实现过程如下:
步骤3071,将头发部位的原始颜色作为输入颜色,在目标颜色查找表中进行查色,得到查找颜色(look_color),将查找颜色转换到HSL颜色空间中;
步骤3072,将美化颜色参数target_color转换到HSL颜色空间,得到转换颜色参数;
步骤3073,将转换颜色参数中的H分量和S分量,查找颜色转换到HSL颜色空间后的L分量进行组合,得到目标颜色参数。
在一个示例中,用户还可以在美化操作中输入调整参数,根据调整参数可以对查找颜色进行色阶调整,得到调整后的查找颜色,转换颜色参数中的H分量和S分量,也可以与调整后的查找颜色在HSL颜色空间中的L分量进行组合,得到目标颜色参数。
步骤308,将目标颜色参数与原始颜色,按照用户输入的调整参数中的强度进行融合,生成目标用户图像。
步骤309,在用户点击输入界面中的“预览AR实时妆效17”的情况下,在输入界面中显示目标用户图像。
通过本公开应用示例,可以通过第一预设颜色查找表和第二预设颜色查找表,确定亮度中和后的目标颜色查找表,通过头发部位的原始颜色到目标颜色查找表查色,保留查色结果的亮度,与输入的美化颜色参数的色相以及饱和度组成目标颜色参数以实现染发操作,提升染发效果和自然度;而且美化颜色参数可支持用户任意调整颜色值,还可以任意调整亮度值等参数,提升美化操作的自由度和交互体验。
本公开应用示例中提出的图像处理方法,除了可以应用于对用户图像中的头发部位进行美化操作以外,还可以扩展应用于其他部位的美化操作,比如唇妆、腮红、粉底或是眼影等,随着美化操作类型的不同,本公开应用示例提出的图像处理方法可以相应的进行灵活扩展与改动。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的执行顺序应当以其功能和可能的内在逻辑确定。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性计算机可读存储介质或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述方法。
在实际应用中,上述存储器可以是易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);或者非易失性存储器(Non-Volatile Memory),例如只读存储器(Read Only Memory,ROM),快闪存储器(Flash Memory),硬盘(Hard Disk Drive, HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。
上述处理器可以为应用专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(Digital Signal Processing Device,DSPD)、可编程逻辑器件(programmable logic device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本公开实施例不作限定。
电子设备可以被提供为终端、服务器或其它形态的设备。
基于前述实施例相同的技术构思,本公开实施例还提供了一种计算机程序,该计算机程序被处理器执行时实现上述方法。
图12是根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
如图12所示,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(Input/Output,I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。
音频组件810被配置为输出、输入中至少之一的音频信号。例如,音频组件810包括一个麦克风(Microphone,MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关人员信息。在一个示例性实施例中,所述通信组件816还包括近场通信(Near Field Communication,NFC)模块,以促进短程通信。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序 指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
本公开可以是以下至少之一:系统、方法、计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是,但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过以下至少之一:网络、例如因特网、局域网、广域网、无线网下载到外部计算机或外部存储设备。网络可以包括以下至少之一:铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机、边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以至少一种编程语言的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图、框图、或流程图和框图描述了本公开的各个方面。应当理解,流程图、框图、或流程图和框图的每个方框以及流程图、框图、或流程图和框图中各方框的组合,都可以由计算机可读程序指令实现。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图、流程图、或流程图和框图中的每个方框、以及框图、流程图、或流程图和框图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
工业实用性
本公开实施例中,图像处理方法包括:接收针对用户图像的目标部位的美化操作,确定所述目标部位的平均亮度;根据所述平均亮度,对所述目标部位中像素点的亮度进行调整,得到所述目标部位中像素点的目标亮度;根据所述美化操作中输入的美化颜色参数以及所述目标亮度,确定所述目标部位中像素点的目标颜色参数;根据所述目标颜色参数,生成对所述目标部位进行美化后的目标用户图像。通过接收对用户图像目标部位的美化操作,并确定目标部位的平均亮度,根据平均亮度,对目标部位中像素点的亮度进行调整,得到目标亮度,从而基于美化操作中输入的美化颜色参数以及目标亮度,确定目标部位中像素点的目标颜色 参数,以根据目标颜色参数生成对目标部位进行美化后的目标用户图像。通过上述过程,一方面可以基于用户图像中目标部位的亮度情况来对目标部位中像素点的颜色进行美化,提高目标用户图像中目标部位的颜色美化效果和自然程度;另一方面通过美化操作中任意输入的美化颜色参数可以丰富美化操作的颜色,提升美化操作的自由度。

Claims (13)

  1. 一种图像处理方法,包括:
    接收针对用户图像的目标部位的美化操作,确定所述目标部位的平均亮度;
    根据所述平均亮度,对所述目标部位中像素点的亮度进行调整,得到所述目标部位中像素点的目标亮度;
    根据所述美化操作中输入的美化颜色参数以及所述目标亮度,确定所述目标部位中像素点的目标颜色参数;
    根据所述目标颜色参数,生成对所述目标部位进行美化后的目标用户图像。
  2. 根据权利要求1所述的方法,其中,所述根据所述平均亮度,对所述目标部位中像素点的亮度进行调整,得到所述目标部位中像素点的目标亮度,包括:
    根据所述平均亮度,生成目标颜色查找表,其中,所述目标颜色查找表包括多个目标输出颜色,所述多个目标输出颜色的亮度与所述平均亮度相匹配;
    根据所述目标部位中像素点的原始颜色以及所述目标颜色查找表,确定所述目标部位中像素点的查找颜色;
    根据所述查找颜色,确定所述目标部位中像素点的目标亮度。
  3. 根据权利要求2所述的方法,其中,所述根据所述平均亮度,生成目标颜色查找表,包括:
    根据所述平均亮度、第一预设亮度和第二预设亮度之间的数值关系,对第一预设颜色查找表和第二预设颜色查找表进行插值处理,得到与所述平均亮度匹配的目标颜色查找表;
    其中,
    所述第一预设颜色查找表包括第一输入颜色,所述第一预设亮度包括所述第一预设颜色查找表中多个第一输入颜色的平均亮度;
    所述第二预设颜色查找表包括第二输入颜色,所述第二预设亮度包括所述第二预设颜色查找表中多个第二输入颜色的平均亮度;
    所述第二预设亮度高于所述第一预设亮度。
  4. 根据权利要求3所述的方法,其中,所述第一预设颜色查找表还包括与所述第一输入颜色对应的第一输出颜色,所述第一输出颜色的亮度高于所述第一输入颜色的亮度;所述第二预设颜色查找表还包括与所述第二输入颜色对应的第二输出颜色,所述第二输出颜色的亮度低于所述第二输入颜色的亮度;
    所述根据所述平均亮度、第一预设亮度和第二预设亮度之间的数值关系,对第一预设颜色查找表和第二预设颜色查找表进行插值处理,得到与所述平均亮度匹配的目标颜色查找表,包括:
    根据所述平均亮度、第一预设亮度与所述第二预设亮度之间的数值关系,对所述平均亮度进行更新,得到更新平均亮度;
    根据亮度差值与亮度范围值之间的比例,确定所述第一预设颜色查找表以及所述第二预设颜色查找表的插值比例,其中,
    所述亮度差值包括以下至少之一:所述更新平均亮度与所述第一预设亮度之间的差值,所述更新平均亮度与所述第二预设亮度之间的差值,
    所述亮度范围值包括所述第二预设亮度与所述第一预设亮度的差值;
    根据所述插值比例,对所述第一输出颜色与所述第二输出颜色进行插值,得到所述目标颜色查找表的目标输出颜色。
  5. 根据权利要求4所述的方法,其中,所述根据所述平均亮度、第一预设亮度与所述第二预设亮度之间的数值关系,对所述平均亮度进行更新,得到更新平均亮度,包括:
    在所述平均亮度属于所述第一预设亮度与所述第二预设亮度之间的情况下,将所述平均亮度作为所述更新平均亮度;
    在所述平均亮度低于所述第一预设亮度的情况下,将所述第一预设亮度作为所述更新平均亮度;
    在所述平均亮度高于所述第二预设亮度的情况下,将所述第二预设亮度作为所述更新平均亮度。
  6. 根据权利要求2至5中任意一项所述的方法,其中,所述根据所述查找颜色,确定所述目标部位中像素点的目标亮度,包括:
    将所述查找颜色对应的亮度作为所述目标亮度;或者,
    根据所述美化操作中输入的调整参数,对所述查找颜色进行色阶调整,得到调整后的查找颜色;将所述调整后的查找颜色对应的亮度,作为所述目标亮度。
  7. 根据权利要求1至6中任意一项所述的方法,其中,所述根据所述美化操作中输入的美化颜色参数以及所述目标亮度,确定所述目标部位中像素点的目标颜色参数,包括:
    将所述美化颜色参数转换至预设颜色空间,得到转换颜色参数,其中,所述预设颜色空间包括亮度分量;
    根据所述目标亮度,对所述转换颜色参数中的亮度分量进行调整,得到调整后的转换颜色参数;
    根据所述调整后的转换颜色参数,确定所述目标颜色参数。
  8. 根据权利要求1至7中任意一项所述的方法,其中,所述确定所述目标部位的平均亮度,包括:
    对所述用户图像进行分割处理,得到所述用户图像中的所述目标部位;
    根据所述目标部位中多个像素点的原始颜色,确定所述目标部位中多个像素点的亮度;
    根据所述目标部位中多个像素点的亮度,确定所述目标部位的平均亮度。
  9. 根据权利要求1至8中任意一项所述的方法,其中,所述美化操作包括染发操作,所述目标部位包括头发部位。
  10. 一种图像处理装置,包括:
    接收模块,配置为接收针对用户图像的目标部位的美化操作,确定所述目标部位的平均亮度;
    调整模块,配置为根据所述平均亮度,对所述目标部位中像素点的亮度进行调整,得到所述目标部位中像素点的目标亮度;
    确定模块,配置为根据所述美化操作中输入的美化颜色参数以及所述目标亮度,确定所述目标部位中像素点的目标颜色参数;
    美化模块,配置为根据所述目标颜色参数,生成对所述目标部位进行美化后的目标用户图像。
  11. 一种电子设备,包括:
    处理器;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至9中任意一项所述的方法。
  12. 一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现权利要求1至9中任意一项所述的方法。
  13. 一种计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令被计算机设备的处理器运行时,实现权利要求1至9中任意一项所述的方法。
PCT/CN2022/107488 2021-07-30 2022-07-22 图像处理方法及装置、电子设备、存储介质及计算机程序产品 WO2023005853A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110874879.2A CN113570583B (zh) 2021-07-30 2021-07-30 图像处理方法及装置、电子设备和存储介质
CN202110874879.2 2021-07-30

Publications (1)

Publication Number Publication Date
WO2023005853A1 true WO2023005853A1 (zh) 2023-02-02

Family

ID=78169682

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/107488 WO2023005853A1 (zh) 2021-07-30 2022-07-22 图像处理方法及装置、电子设备、存储介质及计算机程序产品

Country Status (2)

Country Link
CN (1) CN113570583B (zh)
WO (1) WO2023005853A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113570583B (zh) * 2021-07-30 2024-06-07 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485199A (zh) * 2016-09-05 2017-03-08 华为技术有限公司 一种车身颜色识别的方法及装置
CN108629819A (zh) * 2018-05-15 2018-10-09 北京字节跳动网络技术有限公司 图像染发处理方法和装置
CN109102484A (zh) * 2018-08-03 2018-12-28 北京字节跳动网络技术有限公司 用于处理图像的方法和装置
CN111612882A (zh) * 2020-06-10 2020-09-01 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机存储介质及电子设备
CN112767285A (zh) * 2021-02-23 2021-05-07 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN113570583A (zh) * 2021-07-30 2021-10-29 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105469357B (zh) * 2015-11-27 2018-09-14 努比亚技术有限公司 图像处理方法、装置及终端
EP3483592B1 (en) * 2016-07-05 2020-07-22 Konica Minolta, Inc. Biological material quantifying method, image processing device, pathological diagnosis support system and program
CN108900819B (zh) * 2018-08-20 2020-09-15 Oppo广东移动通信有限公司 图像处理方法、装置、存储介质及电子设备
US10970828B2 (en) * 2018-12-21 2021-04-06 Ricoh Company, Ltd. Image processing apparatus, image processing system, image processing method, and recording medium
CN110443747B (zh) * 2019-07-30 2023-04-18 Oppo广东移动通信有限公司 图像处理方法、装置、终端及计算机可读存储介质
CN110992289B (zh) * 2019-12-06 2023-05-12 上海富瀚微电子股份有限公司 一种基于三维查找表的图像颜色校正方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485199A (zh) * 2016-09-05 2017-03-08 华为技术有限公司 一种车身颜色识别的方法及装置
CN108629819A (zh) * 2018-05-15 2018-10-09 北京字节跳动网络技术有限公司 图像染发处理方法和装置
CN109102484A (zh) * 2018-08-03 2018-12-28 北京字节跳动网络技术有限公司 用于处理图像的方法和装置
CN111612882A (zh) * 2020-06-10 2020-09-01 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机存储介质及电子设备
CN112767285A (zh) * 2021-02-23 2021-05-07 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质
CN113570583A (zh) * 2021-07-30 2021-10-29 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113570583B (zh) 2024-06-07
CN113570583A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
US10672363B2 (en) Color rendering for images in extended dynamic range mode
WO2023005850A1 (zh) 图像处理方法及装置、电子设备、存储介质及计算机程序产品
CN106576155B (zh) 图像处理装置、摄像装置、图像处理方法以及程序
US9997133B2 (en) Image processing apparatus, image processing method, and computer-readable recording medium
CN108200420B (zh) 图像调节方法、装置、可读存储介质及终端
CN110069974B (zh) 高光图像处理方法、装置和电子设备
US20080056566A1 (en) Video processing
US20210297582A1 (en) Method and System for Customizing Camera Parameters
WO2023005853A1 (zh) 图像处理方法及装置、电子设备、存储介质及计算机程序产品
US20210304455A1 (en) Method and electronic device for processing images
CN113132696A (zh) 图像色调映射方法、装置、电子设备和存储介质
CN115761271A (zh) 图像处理方法、装置、电子设备以及存储介质
US7110597B2 (en) Correcting digital images using unique subjects
CN112785537A (zh) 图像处理方法、装置以及存储介质
CN110807735A (zh) 图像处理方法、装置、终端设备及计算机可读存储介质
CN110225331B (zh) 选择性地将色彩施加到图像
US20080007748A1 (en) Compositing image data in a linear-light color space that preserves a desired look
CN111462158B (zh) 一种图像处理方法、装置及智能设备、存储介质
Brown Color processing for digital cameras
EP4042405A1 (en) Perceptually improved color display in image sequences on physical displays
CN113472997B (zh) 图像处理方法及装置、移动终端及存储介质
CN113112422A (zh) 图像处理方法、装置、电子设备、计算机可读介质
CN116668656A (zh) 图像处理方法及电子设备
WO2023045946A1 (zh) 图像处理方法及装置、电子设备和存储介质
CN116668862B (zh) 图像处理方法与电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22848458

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22848458

Country of ref document: EP

Kind code of ref document: A1