WO2024179319A1 - Image processing method and apparatus, and electronic device - Google Patents
Image processing method and apparatus, and electronic device Download PDFInfo
- Publication number
- WO2024179319A1 WO2024179319A1 PCT/CN2024/077550 CN2024077550W WO2024179319A1 WO 2024179319 A1 WO2024179319 A1 WO 2024179319A1 CN 2024077550 W CN2024077550 W CN 2024077550W WO 2024179319 A1 WO2024179319 A1 WO 2024179319A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processed
- layer
- floated
- image
- layers
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 230000000694 effects Effects 0.000 claims abstract description 42
- 238000007667 floating Methods 0.000 claims description 56
- 238000012545 processing Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 abstract description 16
- 230000000903 blocking effect Effects 0.000 abstract 1
- 210000004209 hair Anatomy 0.000 description 34
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 2
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 2
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 210000001061 forehead Anatomy 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Definitions
- the present disclosure relates to the field of image processing technology, and in particular to an image processing method, device and electronic device.
- the present disclosure provides an image processing method, an image processing device and an electronic device.
- an image processing method comprising:
- the image to be processed includes an object to be moved;
- a plurality of layers to be processed are determined; wherein different layers to be processed correspond to different occlusion relationships;
- an image processing apparatus comprising:
- An acquisition module used for acquiring an image to be processed; the image to be processed includes an object to be moved;
- a determination module used for determining the object to be moved and the reference object in the image to be processed
- a layering module used to determine a plurality of layers to be processed based on the object to be floated and the reference object; wherein different layers to be processed correspond to different occlusion relationships;
- a generating module is used to generate a fluttering effect of the object to be fluttered based on the multiple layers to be processed.
- a computer-readable storage medium stores a computer program.
- the computer program is executed by a processor, the image processing method described in any one of the first aspects is implemented.
- an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the image processing method described in any one of the first aspects is implemented.
- FIG1 is a schematic diagram of an image processing scenario according to an exemplary embodiment of the present disclosure.
- FIG2 is a flow chart of an image processing method according to an exemplary embodiment of the present disclosure
- FIG3 is a flow chart of another image processing method according to an exemplary embodiment of the present disclosure.
- FIG4 is a block diagram of an image processing apparatus according to an exemplary embodiment of the present disclosure.
- FIG5 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure.
- FIG6 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure.
- FIG. 7 is a schematic diagram of a storage medium provided by some embodiments of the present disclosure.
- first, second, third, etc. may be used in the present disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
- first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information.
- word "if” as used herein may be interpreted as "at the time of” or "when” or "in response to determining”.
- the present disclosure provides an image processing method, which determines an object to be floated and a reference object in an image to be processed, and based on the object to be floated and the reference object, determines a plurality of layers to be processed corresponding to different occlusion relationships, and generates a floating effect of the object to be floated according to the plurality of layers to be processed. Since the present embodiment takes into account the occlusion relationship in the image to be processed, and generates a floating effect of the object to be floated according to the layers to be processed with different occlusion relationships, the object to be floated in the animated image or video after the floating process can float in an interlaced manner by layer based on a certain occlusion relationship. Thus, without the need for manual operation, the floating effect of some objects in a static image is achieved, and the display effect of the image is made more realistic and vivid, with a stronger sense of layering and space, and the flexibility and interest of image application are also improved.
- FIG. 1 a schematic diagram of an image processing scenario according to an exemplary embodiment is shown.
- the solution of the present disclosure is schematically described in combination with a complete and specific application example.
- the application example describes a specific image processing process.
- the image A to be processed may include an object to be fluttered that can add a fluttering special effect.
- the image A to be processed may be a face image of a person, and the object to be fluttered may be the hair of the person.
- the image A to be processed may be a full-body image of a person, and the object to be fluttered may be the hem of the person's dress.
- the image A to be processed may be an image of interior decoration, and the object to be fluttered may be a curtain.
- the object to be floated in the image to be processed A can be identified to determine the target area corresponding to the object to be floated, and a mask image B of the object to be floated can be obtained based on the target area.
- a pre-trained recognition model can be used to identify the object to be floated in the image to be processed A, and the pixel points of the target area in the image to be processed A are assigned 0, and the pixel points of other areas are assigned 1, so as to obtain the mask image B of the object to be floated.
- the target area corresponding to the fluttering object is segmented to obtain a mask image C of multiple sub-areas.
- the sub-area may be an area obtained by vertically segmenting the target area corresponding to the fluttering object.
- the sub-area may be an area corresponding to a bunch of hair.
- the fluttering object is a skirt of a person's clothing
- the sub-area may be an area corresponding to a wisp of the skirt.
- the sub-area may be an area corresponding to a wisp of the curtain.
- a reference object in the image A to be processed may be identified to determine the area corresponding to the reference object, wherein there is an occlusion relationship between the reference object and the object to be moved.
- the reference object may be a face.
- the reference object may be a window, etc.
- multiple layers to be processed with different occlusion relationships can be determined based on the mask image B of the object to be floated and the region corresponding to the reference object. And based on the mask image B of the object to be floated, the mask image C of the sub-region and the multiple layers to be processed, gridding processing is performed to obtain multiple grid layers, wherein each grid layer corresponds to a layer to be processed.
- anchor points for constraining the floating object to float can also be extracted. Then, based on the image A to be processed, the anchor points and the multiple grid layers, rendering processing is performed to obtain multiple frames of images for displaying animated images or playing videos, and the multiple frames of images can achieve the floating effect of the floating object.
- the trajectory information corresponding to each anchor point can be determined, and the position points of each anchor point in each frame of the multi-frame image to be generated can be determined based on the trajectory information corresponding to each anchor point. Then, the floating data corresponding to each layer of grid can be determined based on the position points of each anchor point in each frame of the image. Based on the information of the occlusion relationship of different layers to be processed, the floating data corresponding to each layer of grid is occluded. According to the pixel value of each pixel point in the image to be processed and the data after occlusion processing, the pixel value of each pixel point in each frame of the image to be generated is determined, so as to perform rendering processing and obtain multiple frames of images.
- the multiple frames of images can constitute a dynamic image or video. If the multiple frames of images are displayed, the floating effect of the object to be floated can be displayed.
- FIG2 is a flow chart of an image processing method according to some embodiments.
- the method can be implemented as any device, platform, server or device cluster with computing and processing capabilities, and includes the following steps: 201-204.
- step 201 an image to be processed is acquired, and in step 202 , an object to be moved and a reference object in the image to be processed are determined.
- the image to be processed may be an image in RGB color mode, and the image to be processed may include an object to be fluttered that can achieve a fluttering special effect.
- the object to be fluttered may be an object with a fixed upper end and a free lower end that can flutter in the wind.
- the object to be fluttered may be the hair of a person, or the hem of a person's dress, or the tassel on a decoration, or a scarf worn by a person, or a curtain, etc. It can be understood that the present embodiment does not limit the specific category of the fluttering object.
- the object to be floated in the image to be processed can be determined, that is, the region information corresponding to the object to be floated in the image to be processed can be obtained.
- the object to be floated can be identified using a pre-trained recognition model, so as to determine the region information corresponding to the object to be floated in the image to be processed.
- the recognition model can be obtained by training based on a large number of sample images including the object to be floated.
- the mask image corresponding to the object to be floated can be further obtained based on the region information corresponding to the object to be floated.
- the pixel points of the area corresponding to the object to be floated in the image to be processed can be assigned 0, and the pixel points of other areas can be assigned 1, so as to obtain the mask image of the object to be floated.
- the mask image of the object to be floated can be used in the subsequent gridding process and other processes.
- the image to be processed may further include a reference object
- the reference object may be an object that has an occlusion relationship with the object to be fluttered.
- the object to be fluttered flutters, it will occlude the reference object, or the reference object will occlude the object to be fluttered.
- the reference object may be the face of the person.
- the reference object may be the legs of the person, etc.
- a preset algorithm may be used to determine the region information corresponding to the reference object in the image to be processed. For example, taking the case where the object to be fluttered is the hair of a person and the reference object is a face, a preset face key point detection algorithm may be used to detect the face key points in the image to be processed, wherein the face key points may be points in key regions of the face.
- face key points may include but are not limited to multiple points on regions such as eyebrows, eyes, nose, and mouth. Then, the face contour is determined based on the face key points, and the information of the region surrounded by the face contour is obtained as the region information corresponding to the reference object.
- step 203 a plurality of layers to be processed are determined based on the object to be floated and the reference object.
- the multiple layers to be processed may be multiple regional layers corresponding to different occlusion relationships. By obtaining the area corresponding to any layer to be processed, the layer to be processed can be determined.
- the multiple layers to be processed may include at least a first layer to be processed and a second layer to be processed.
- the area where the object to be floated overlaps with the reference object can be obtained as the area corresponding to the first layer to be processed, and the area in the object to be floated that does not overlap with the reference object can be obtained as the area corresponding to the second layer to be processed.
- the first layer to be processed has occlusion on the reference object and the second layer to be processed, and the second layer to be processed has no occlusion on the reference object.
- the plurality of layers to be processed may include a third layer to be processed in addition to the first layer to be processed and the second layer to be processed.
- the area corresponding to the object to be floated may be obtained as the area corresponding to the third layer to be processed.
- the first layer to be processed has occlusion on the reference object, the second layer to be processed and the third layer to be processed; the second layer to be processed has occlusion on the third layer to be processed and has no occlusion on the reference object; the reference object has occlusion on the third layer to be processed.
- the object to be fluttered is the hair of a person and the reference object is a face
- the area where the hair area overlaps with the face area can be obtained as the area corresponding to the first layer to be processed.
- the area in the hair area that does not overlap with the face area is obtained as the area corresponding to the second layer to be processed.
- the hair area is obtained as the area corresponding to the third layer to be processed.
- the first layer to be processed corresponds to the bangs part of the hair
- the second layer to be processed corresponds to the hair bundle part other than the bangs
- the third layer to be processed corresponds to the entire part of the hair.
- the first layer to be processed corresponding to the bangs part is in the uppermost layer, and has occlusion on the face and the other two layers to be processed.
- the second layer to be processed corresponding to the hair bundle part is in the middle layer, has no occlusion on the face and the first layer to be processed, and has occlusion on the third layer to be processed.
- the third layer to be processed corresponding to the entire part of the hair is in the lowermost layer as the background layer, and the face and the other two layers to be processed have occlusion on the third layer to be processed.
- step 204 a fluttering effect of the object to be fluttered is generated based on the multiple layers to be processed.
- the grid corresponding to each layer to be processed can be obtained to obtain a multi-layer grid, and then the occlusion relationship information corresponding to each layer to be processed can be obtained.
- the multi-layer grid and the occlusion relationship information a multi-frame image is generated, and the floating effect of the object to be floated can be displayed by playing the multi-frame image.
- the present disclosure provides an image processing method, which determines an object to be floated and a reference object in an image to be processed, and based on the object to be floated and the reference object, determines a plurality of layers to be processed corresponding to different occlusion relationships, and generates a floating effect of the object to be floated according to the plurality of layers to be processed. Since the present embodiment takes into account the occlusion relationship in the image to be processed, and generates a floating effect of the object to be floated according to the layers to be processed with different occlusion relationships, the object to be floated in the animated image or video after the floating process can float in an interlaced manner by layer based on a certain occlusion relationship. Thereby, without the need for manual operation, the floating effect of some objects in a static image is achieved, and the display effect of the image is made more realistic and vivid, with a stronger sense of layering and space, and the flexibility and interest of image application are also improved. Taste.
- FIG. 3 is a flow chart of another image processing method according to some embodiments.
- the embodiment describes a process of generating a floating effect of an object to be floated, including the following steps: 301 - 303 .
- step 301 a grid corresponding to each layer to be processed is obtained to obtain a multi-layer grid.
- the area corresponding to each layer to be processed can be gridded to obtain a multi-layer grid. Specifically, the area corresponding to each layer to be processed can be obtained respectively, and the area corresponding to each layer to be processed can be gridded to obtain a grid corresponding to each layer to be processed.
- the area corresponding to the object to be fluttered can be divided into multiple sub-areas vertically, each sub-area can be a fluttering unit, and grid processing can be performed according to the multiple sub-areas.
- the object to be fluttered is the hair of a person and the reference object is a face
- the hair of the person can be divided into multiple hair bundles.
- a preset algorithm such as a triangulation algorithm, etc.
- multiple points can be randomly selected in the area corresponding to the hair bundle, and the selected multiple points can be connected using a preset algorithm to generate a grid composed of multiple triangles.
- a plurality of first hair bundles included in the region corresponding to the first to-be-processed layer may be determined, and a plurality of second hair bundles included in the region corresponding to the second to-be-processed layer may be determined.
- a layer of grids corresponding to the first to-be-processed layer may be formed by a plurality of grids corresponding to the plurality of first hair bundles
- a layer of grids corresponding to the second to-be-processed layer may be formed by a plurality of grids corresponding to the plurality of second hair bundles.
- a preset algorithm may be used to perform grid processing on the entire hair region to obtain a layer of grids corresponding to the third to-be-processed layer.
- step 302 the information of the occlusion relationship corresponding to each layer to be processed is obtained, and in step 303, the floating effect of the object to be floated is generated based on the information of the multi-layer grid and the occlusion relationship.
- multiple anchor points for constraining the floating of the object to be floated can be determined, and floating effect processing can be performed on each layer of grids based on the multiple anchor points to obtain floating data corresponding to each layer of grids.
- the anchor points for the object to be floated can be determined, and the anchor points for the object to be floated can include a first anchor point for fixing the object to be floated and a second anchor point for controlling the floating of the object to be floated.
- the anchor points corresponding to each sub-area can also be determined.
- the anchor points corresponding to any sub-area can include a third anchor point for fixing the sub-area and a fourth anchor point for controlling the floating of the sub-area.
- the highest point corresponding to the sub-region and the midline passing through the highest point can be determined, wherein the highest point corresponding to the sub-region can be determined based on the coordinates of the sub-region in the image, and the highest point can be the point with the largest ordinate in the sub-region.
- the midline passing through the highest point also passes through the lowest point corresponding to the sub-region, and the midline can divide the sub-region into two parts.
- the midline can be determined by any reasonable algorithm.
- the middle line this embodiment does not limit the determination method of the middle line.
- the highest point can be determined as the third anchor point for fixing the sub-area, and the points on the middle line equidistantly selected according to the preset distance can be determined as the fourth anchor point for controlling the movement of the sub-area.
- the key points of the reference object can be detected, and a fixed edge line for fixing the object to be floated can be determined based on the key points, and a point covered by the object to be floated is selected from the fixed edge line as the first anchor point for fixing the object to be floated.
- a fixed edge line for fixing the object to be floated can be determined based on the key points
- a point covered by the object to be floated is selected from the fixed edge line as the first anchor point for fixing the object to be floated.
- the key points of the face are determined, and the forehead contour edge line for fixing the hair is determined based on the key points of the face, and the point covered by the hair is selected from the forehead contour edge line as the first anchor point for the entire hair.
- multiple points can be randomly selected from multiple fourth anchor points used to control the movement of the sub-region as the second anchor point for controlling the floating of the object to be floated.
- the trajectory points corresponding to each anchor point can also be determined according to the desired floating effect.
- their corresponding trajectory points are fixed points.
- the trajectory information corresponding to each anchor point can be calculated using a preset algorithm according to the desired floating effect.
- the position point of each anchor point in each frame of the multiple frames of images to be generated is determined.
- the floating data corresponding to each layer of grid can be determined based on preset constraints (for example, the constraints can indicate the distance relationship between the anchor point and other points in the area, etc.) and the position points of each anchor point in each frame of the image.
- the floating data corresponding to any layer of grids can include the grid area information corresponding to the layer of grids.
- the floating data corresponding to each layer of grids can be occluded, and the pixel values of each pixel point in each frame of the image to be generated can be determined based on the pixel values of each pixel point in the image to be processed and the data after occlusion processing, so as to perform rendering processing and obtain multiple frames of images.
- the multiple frames of images can constitute a dynamic image or video. If the multiple frames of images are displayed, the floating effect of the object to be floated can be displayed.
- this embodiment Since this embodiment generates the floating effect of the object to be floated through the information of the grids corresponding to each layer to be processed and the occlusion relationship corresponding to each layer to be processed, the floating effect of the object to be floated in the animated image or video after the floating processing can be made more realistic by staggered floating by layers based on certain occlusion relationships, further improving the floating effect of the object to be floated in the animated image or video after the floating processing.
- the present disclosure also provides an embodiment of an image processing device.
- FIG. 4 is a block diagram of an image processing device according to an exemplary embodiment of the present disclosure.
- the device may include: an acquisition module 401 , a determination module 402 , a layering module 403 and a generation module 404 .
- the acquisition module 401 is used to acquire an image to be processed, where the image to be processed includes an object to be floating.
- the determination module 402 is used to determine the object to be moved and the reference object in the image to be processed.
- the layering module 403 is used to determine a plurality of layers to be processed based on the object to be floated and the reference object, wherein different layers to be processed correspond to different occlusion relationships.
- the generating module 404 is used to generate a fluttering effect of the object to be fluttered based on the multiple layers to be processed.
- the multiple layers to be processed may include a first layer to be processed and a second layer to be processed, wherein the layering module 403 is configured to: determine an area where the object to be floated overlaps with the reference object as an area corresponding to the first layer to be processed; and determine an area in the object to be floated that does not overlap with the reference object as an area corresponding to the second layer to be processed.
- the multiple layers to be processed may further include a third layer to be processed, wherein the layering module 403 is further configured to: determine the area corresponding to the object to be fluttered as the area corresponding to the third layer to be processed.
- different layers to be processed correspond to different occlusion relationships, including: the first layer to be processed has occlusion on the reference object, the second layer to be processed and the third layer to be processed, the second layer to be processed has occlusion on the third layer to be processed, and the reference object has occlusion on the third layer to be processed.
- the generation module 404 may include: a first acquisition submodule, a second acquisition submodule, and a generation submodule (not shown in the figure).
- the first acquisition submodule is used to acquire the grid corresponding to each layer to be processed to obtain a multi-layer grid.
- the second acquisition submodule is used to obtain the occlusion relationship information corresponding to each layer to be processed.
- the generation submodule is used to generate the floating effect of the object to be floated based on the information of the multi-layer grid and the occlusion relationship.
- the first acquisition submodule is configured to: perform gridding processing on the area corresponding to each layer to be processed to obtain a multi-layer grid.
- the generation submodule is configured to: perform floating effect processing on each layer of grids to obtain floating data corresponding to each layer of grids, and based on the occlusion relationship information, perform occlusion processing on the floating data corresponding to each layer of grids to obtain multiple frames of images for displaying the floating effect.
- the relevant parts can be referred to the partial description of the method embodiment.
- the device embodiment described above is only illustrative, and the separation
- the units described by the components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the embodiments of the present disclosure. Those of ordinary skill in the art may understand and implement them without creative work.
- FIG5 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure.
- the electronic device 910 includes a processor 911 and a memory 912, which can be used to implement a client or a server.
- the memory 912 is used to store computer executable instructions (e.g., one or more computer program modules) non-transiently.
- the processor 911 is used to run the computer executable instructions, and when the computer executable instructions are run by the processor 911, one or more steps in the image processing method described above can be executed, thereby implementing the image processing method described above.
- the memory 912 and the processor 911 can be interconnected via a bus system and/or other forms of connection mechanisms (not shown).
- the processor 911 may be a central processing unit (CPU), a graphics processing unit (GPU), or other forms of processing units having data processing capabilities and/or program execution capabilities.
- the central processing unit (CPU) may be an X86 or ARM architecture, etc.
- the processor 911 may be a general-purpose processor or a dedicated processor, and may control other components in the electronic device 910 to perform desired functions.
- the memory 912 may include any combination of one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory.
- Volatile memory may include, for example, random access memory (RAM) and/or cache memory (cache), etc.
- Non-volatile memory may include, for example, read-only memory (ROM), hard disk, erasable programmable read-only memory (EPROM), portable compact disk read-only memory (CD-ROM), USB memory, flash memory, etc.
- One or more computer program modules may be stored on the computer-readable storage medium, and the processor 911 may run one or more computer program modules to implement various functions of the electronic device 910.
- Various applications and various data, as well as various data used and/or generated by the application, etc. may also be stored in the computer-readable storage medium.
- FIG6 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure.
- the electronic device 920 is suitable for implementing the image processing method provided by the embodiments of the present disclosure.
- the electronic device 920 may be a terminal device, etc., and may be used to implement a client or a server.
- the electronic device 920 may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), wearable electronic devices, etc., and devices such as Fixed terminals of digital TV, desktop computers, smart home devices, etc.
- the electronic device 920 shown in FIG6 is only an example, which does not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
- the electronic device 920 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 921, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 922 or a program loaded from a storage device 928 to a random access memory (RAM) 923.
- ROM read-only memory
- RAM random access memory
- various programs and data required for the operation of the electronic device 920 are also stored.
- the processing device 921, the ROM 922, and the RAM 923 are connected to each other via a bus 924.
- An input/output (I/O) interface 925 is also connected to the bus 924.
- the following devices may be connected to the I/O interface 925: input devices 926 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 927 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 928 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 929.
- the communication devices 929 may allow the electronic device 920 to communicate with other electronic devices wirelessly or by wire to exchange data.
- FIG. 6 shows an electronic device 920 with various devices, it should be understood that it is not required to implement or have all of the devices shown, and the electronic device 920 may alternatively implement or have more or fewer devices.
- the above-mentioned image processing method can be implemented as a computer software program.
- an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the above-mentioned image processing method.
- the computer program can be downloaded and installed from the network through the communication device 929, or installed from the storage device 928, or installed from the ROM 922.
- the processing device 921 the functions defined in the image processing method provided by the embodiment of the present disclosure can be implemented.
- FIG7 is a schematic diagram of a storage medium provided by some embodiments of the present disclosure.
- the storage medium 930 may be a non-transitory computer-readable storage medium for storing a non-transitory computer-executable instruction 931.
- the image processing method described in the embodiment of the present disclosure may be implemented.
- the non-transitory computer-executable instruction 931 is executed by a processor, one or more steps in the image processing method described above may be executed.
- the storage medium 930 may be applied to the above-mentioned electronic device.
- the storage medium 930 may include a memory in the electronic device.
- the storage medium may include a memory card of a smartphone, a storage component of a tablet computer, a hard disk of a personal computer, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), a flash memory, or any combination of the above storage media. It can also be other applicable storage media.
- the description of the storage medium 930 can refer to the description of the memory in the embodiment of the electronic device, and the repeated parts are not repeated.
- the specific functions and technical effects of the storage medium 930 can refer to the description of the image processing method above, and are not repeated here.
- a computer-readable medium may be a tangible medium that may contain or store a program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment.
- a computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two.
- a computer-readable storage medium may be, for example, but not limited to: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above.
- Computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
- a computer-readable storage medium may be any tangible medium that contains or stores a program that may be used by an instruction execution system, device or device or used in combination with it.
- a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above.
- a computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device.
- the program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
- the present disclosure also provides a computer program product, comprising instructions, which, when executed by a processor, enable the processor to implement the image processing method of any of the aforementioned embodiments.
- the present disclosure also provides a computer program, comprising instructions, which, when executed by a processor, enable the processor to implement the image processing method of any of the aforementioned embodiments.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
The present disclosure provides an image processing method and apparatus, and an electronic device. A specific embodiment of the method comprises: obtaining an image to be processed, the image to be processed comprising an object to undergo fluttering; determining the object to undergo fluttering and a reference object in the image to be processed; on the basis of the object to undergo fluttering and the reference object, determining a plurality of layers to be processed, different layers to be processed corresponding to different blocking relationships; and on the basis of the plurality of layers to be processed, generating a fluttering effect of the object to undergo fluttering.
Description
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请是以CN申请号为202310215668.7,申请日为2023年2月28日的申请为基础,并主张其优先权,该CN申请的公开内容在此作为整体引入本申请中。This application is based on an application with CN application number 202310215668.7 and filing date February 28, 2023, and claims priority. The disclosed content of the CN application is hereby introduced as a whole into this application.
本公开涉及图像处理技术领域,特别涉及一种图像处理方法、装置及电子设备。The present disclosure relates to the field of image processing technology, and in particular to an image processing method, device and electronic device.
随着数字图像技术的不断发展,人们可以通过数字摄像设备拍摄数字图像,以记录生活中的美好瞬间,也可以绘制数字卡通图像等。目前,为了使图像更加生动,需要一种可以使静态图像中的部分物体(例如头发、衣裙、丝巾等)飘动起来,从而得到动态图像的方案。With the continuous development of digital image technology, people can use digital cameras to capture digital images to record beautiful moments in life, or draw digital cartoon images, etc. At present, in order to make the image more vivid, a solution is needed to make some objects (such as hair, dress, scarf, etc.) in a static image flutter, thereby obtaining a dynamic image.
发明内容Summary of the invention
本公开提供一种图像处理方法、装置及电子设备。The present disclosure provides an image processing method, an image processing device and an electronic device.
根据第一方面,提供一种图像处理方法,包括:According to a first aspect, there is provided an image processing method, comprising:
获取待处理图像;所述待处理图像包括待飘动对象;Acquire an image to be processed; the image to be processed includes an object to be moved;
确定所述待处理图像中的所述待飘动对象和参考对象;Determining the object to be moved and a reference object in the image to be processed;
基于所述待飘动对象和所述参考对象,确定多个待处理层;其中,不同的待处理层对应于不同的遮挡关系;Based on the object to be floated and the reference object, a plurality of layers to be processed are determined; wherein different layers to be processed correspond to different occlusion relationships;
基于所述多个待处理层,生成所述待飘动对象的飘动效果。Based on the multiple layers to be processed, a fluttering effect of the object to be fluttered is generated.
根据第二方面,提供一种图像处理装置,包括:According to a second aspect, there is provided an image processing apparatus, comprising:
获取模块,用于获取待处理图像;所述待处理图像包括待飘动对象;An acquisition module, used for acquiring an image to be processed; the image to be processed includes an object to be moved;
确定模块,用于确定所述待处理图像中的所述待飘动对象和参考对象;A determination module, used for determining the object to be moved and the reference object in the image to be processed;
分层模块,用于基于所述待飘动对象和所述参考对象,确定多个待处理层;其中,不同的待处理层对应于不同的遮挡关系;A layering module, used to determine a plurality of layers to be processed based on the object to be floated and the reference object; wherein different layers to be processed correspond to different occlusion relationships;
生成模块,用于基于所述多个待处理层,生成所述待飘动对象的飘动效果。A generating module is used to generate a fluttering effect of the object to be fluttered based on the multiple layers to be processed.
根据第三方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,
所述计算机程序被处理器执行时实现上述第一方面中任一项所述的图像处理方法。According to a third aspect, a computer-readable storage medium is provided, wherein the storage medium stores a computer program. When the computer program is executed by a processor, the image processing method described in any one of the first aspects is implemented.
根据第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中任一项所述的图像处理方法。According to a fourth aspect, an electronic device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the image processing method described in any one of the first aspects is implemented.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure.
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of this specification, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this specification. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
图1是本公开根据一示例性实施例示出的一种图像处理场景示意图;FIG1 is a schematic diagram of an image processing scenario according to an exemplary embodiment of the present disclosure;
图2是本公开根据一示例性实施例示出的一种图像处理方法的流程图;FIG2 is a flow chart of an image processing method according to an exemplary embodiment of the present disclosure;
图3是本公开根据一示例性实施例示出的另一种图像处理方法的流程图;FIG3 is a flow chart of another image processing method according to an exemplary embodiment of the present disclosure;
图4是本公开根据一示例性实施例示出的一种图像处理装置的框图;FIG4 is a block diagram of an image processing apparatus according to an exemplary embodiment of the present disclosure;
图5是本公开一些实施例提供的一种电子设备的示意框图;FIG5 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure;
图6是本公开一些实施例提供的另一种电子设备的示意框图;FIG6 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure;
图7是本公开一些实施例提供的一种存储介质的示意图。FIG. 7 is a schematic diagram of a storage medium provided by some embodiments of the present disclosure.
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。In order to enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be described clearly and completely below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this specification, not all of the embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of this specification.
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are only examples of devices and methods consistent with some aspects of the present disclosure as detailed in the attached claims.
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terms used in this disclosure are only for the purpose of describing specific embodiments and are not intended to limit the disclosure. The singular forms of "a", "the" and "the" used in this disclosure are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and/or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, third, etc. may be used in the present disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present disclosure, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
随着数字图像技术的不断发展,人们可以通过数字摄像设备拍摄数字图像,以记录生活中的美好瞬间,也可以绘制数字卡通图像等。为了使图像更加生动,可以使静态图像中的部分物体(例如头发、衣裙等)飘动起来,从而得到动态图像。在相关技术中,通常需要专业人士使用专业的图像处理工具,手动对静态图像进行处理,并对手动处理之后得到的图像数据进行渲染,得到动态图像,这对于普通的非专业人士是难以实现的。并且得到的动态图像动态显示效果差,缺乏层次感和空间感。With the continuous development of digital image technology, people can use digital cameras to shoot digital images to record the beautiful moments in life, or draw digital cartoon images. In order to make the image more vivid, some objects in the static image (such as hair, dress, etc.) can be made to flutter, thereby obtaining a dynamic image. In the related art, professionals are usually required to use professional image processing tools to manually process the static image, and render the image data obtained after manual processing to obtain a dynamic image, which is difficult for ordinary non-professionals to achieve. In addition, the obtained dynamic image has a poor dynamic display effect and lacks a sense of hierarchy and space.
本公开提供了一种图像处理方法,确定待处理图像中的待飘动对象和参考对象,并基于待飘动对象和参考对象,确定多个对应于不同遮挡关系的待处理层,根据多个待处理层,生成待飘动对象的飘动效果。由于本实施例考虑了待处理图像中的遮挡关系,根据具有不同遮挡关系的待处理层,生成待飘动对象的飘动效果,因此,使得经过飘动处理之后的动图或视频中待飘动对象,能够基于一定的遮挡关系按层交错飘动。从而在无需人工手动操作的前提下,实现了静态图像中部分物体的飘动效果,并使图像的显示效果更真实更生动,更具层次感和空间感,也提高了图像应用的灵活性和趣味性。The present disclosure provides an image processing method, which determines an object to be floated and a reference object in an image to be processed, and based on the object to be floated and the reference object, determines a plurality of layers to be processed corresponding to different occlusion relationships, and generates a floating effect of the object to be floated according to the plurality of layers to be processed. Since the present embodiment takes into account the occlusion relationship in the image to be processed, and generates a floating effect of the object to be floated according to the layers to be processed with different occlusion relationships, the object to be floated in the animated image or video after the floating process can float in an interlaced manner by layer based on a certain occlusion relationship. Thus, without the need for manual operation, the floating effect of some objects in a static image is achieved, and the display effect of the image is made more realistic and vivid, with a stronger sense of layering and space, and the flexibility and interest of image application are also improved.
参见图1,为根据一示例性实施例示出的一种图像处理场景示意图。下面参考图1,结合一个完整具体的应用实例,对本公开的方案进行示意性说明。该应用实例描述了一个具体的图像处理的过程。Referring to Fig. 1, a schematic diagram of an image processing scenario according to an exemplary embodiment is shown. Referring to Fig. 1, the solution of the present disclosure is schematically described in combination with a complete and specific application example. The application example describes a specific image processing process.
如图1所示,待处理图像A中可以包括能够增加飘动特效的待飘动对象。例如,待处理图像A可以是人物脸部图像,待飘动对象可以是人物的头发。又例如,待处理图像A可以是人物全身图像,待飘动对象可以是人物衣裙中的裙摆。再例如,待处理图像A可以是室内装饰图像,待飘动对象可以是窗帘。
As shown in FIG1 , the image A to be processed may include an object to be fluttered that can add a fluttering special effect. For example, the image A to be processed may be a face image of a person, and the object to be fluttered may be the hair of the person. For another example, the image A to be processed may be a full-body image of a person, and the object to be fluttered may be the hem of the person's dress. For another example, the image A to be processed may be an image of interior decoration, and the object to be fluttered may be a curtain.
在一些实施例中,首先,可以识别待处理图像A中的待飘动对象,以确定待飘动对象对应的目标区域,并基于该目标区域得到待飘动对象的掩码图像B。例如,可以利用预先训练的识别模型识别待处理图像A中的待飘动对象,并将待处理图像A中目标区域的像素点赋值为0,其它区域的像素点赋值为1,从而得到待飘动对象的掩码图像B。In some embodiments, first, the object to be floated in the image to be processed A can be identified to determine the target area corresponding to the object to be floated, and a mask image B of the object to be floated can be obtained based on the target area. For example, a pre-trained recognition model can be used to identify the object to be floated in the image to be processed A, and the pixel points of the target area in the image to be processed A are assigned 0, and the pixel points of other areas are assigned 1, so as to obtain the mask image B of the object to be floated.
然后,基于掩码图像B,对待飘动对象对应的目标区域进行区域分割,得到多个子区域的掩码图像C。其中,子区域可以是对待飘动对象对应的目标区域进行纵向分割得到的区域。例如,如果待飘动对象为头发,子区域可以是一束头发对应的区域。又例如,如果待飘动对象为人物服饰中的裙摆,子区域可以是一缕裙摆对应的区域。再例如,如果待飘动对象为窗帘,子区域可以是一缕窗帘对应的区域。Then, based on the mask image B, the target area corresponding to the fluttering object is segmented to obtain a mask image C of multiple sub-areas. The sub-area may be an area obtained by vertically segmenting the target area corresponding to the fluttering object. For example, if the fluttering object is hair, the sub-area may be an area corresponding to a bunch of hair. For another example, if the fluttering object is a skirt of a person's clothing, the sub-area may be an area corresponding to a wisp of the skirt. For another example, if the fluttering object is a curtain, the sub-area may be an area corresponding to a wisp of the curtain.
在一些实施例中,可以识别待处理图像A中的参考对象,以确定参考对象对应的区域,其中,参考对象与待飘动对象之间存在遮挡关系。例如,如果待飘动对象为头发,则参考对象可以是人脸。又例如,如果待飘动对象为窗帘,则参考对象可以是窗户等。In some embodiments, a reference object in the image A to be processed may be identified to determine the area corresponding to the reference object, wherein there is an occlusion relationship between the reference object and the object to be moved. For example, if the object to be moved is hair, the reference object may be a face. For another example, if the object to be moved is a curtain, the reference object may be a window, etc.
在一些实施例中,可以根据待飘动对象的掩码图像B以及参考对象对应的区域,确定多个具有不同遮挡关系的待处理层。并根据待飘动对象的掩码图像B、子区域的掩码图像C以及多个待处理层,进行网格化处理,得到多个网格层,其中,每个网格层对应于一个待处理层。In some embodiments, multiple layers to be processed with different occlusion relationships can be determined based on the mask image B of the object to be floated and the region corresponding to the reference object. And based on the mask image B of the object to be floated, the mask image C of the sub-region and the multiple layers to be processed, gridding processing is performed to obtain multiple grid layers, wherein each grid layer corresponds to a layer to be processed.
在一些实施例中,还可以提取用于约束待飘动对象进行飘动的锚点。然后,基于待处理图像A、上述锚点以及上述多个网格层,进行渲染处理,从而得到用于展示动图或播放视频的多帧图像,该多帧图像能够实现待飘动对象飘动的效果。In some embodiments, anchor points for constraining the floating object to float can also be extracted. Then, based on the image A to be processed, the anchor points and the multiple grid layers, rendering processing is performed to obtain multiple frames of images for displaying animated images or playing videos, and the multiple frames of images can achieve the floating effect of the floating object.
具体来说,可以确定每个锚点对应的轨迹信息,根据每个锚点对应的轨迹信息,确定待生成的多帧图像中每帧图像中各个锚点的位置点。然后,可以根据每帧图像中各个锚点的位置点,确定每层网格对应的飘动数据。再基于不同待处理层的遮挡关系的信息,对每层网格对应的飘动数据进行遮挡处理。根据待处理图像中各个像素点的像素值和经过遮挡处理之后的数据,确定每帧待生成的图像中各个像素点的像素值,从而进行渲染处理,得到多帧图像。该多帧图像可以构成动图或视频,如果展示该多帧图像,能够显示待飘动物体的飘动效果。Specifically, the trajectory information corresponding to each anchor point can be determined, and the position points of each anchor point in each frame of the multi-frame image to be generated can be determined based on the trajectory information corresponding to each anchor point. Then, the floating data corresponding to each layer of grid can be determined based on the position points of each anchor point in each frame of the image. Based on the information of the occlusion relationship of different layers to be processed, the floating data corresponding to each layer of grid is occluded. According to the pixel value of each pixel point in the image to be processed and the data after occlusion processing, the pixel value of each pixel point in each frame of the image to be generated is determined, so as to perform rendering processing and obtain multiple frames of images. The multiple frames of images can constitute a dynamic image or video. If the multiple frames of images are displayed, the floating effect of the object to be floated can be displayed.
下面将结合具体的实施例对本公开进行详细描述。The present disclosure will be described in detail below in conjunction with specific embodiments.
图2为根据一些实施例示出的一种图像处理方法的流程图。该方法的执行主体可
以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群,该方法包括以下步骤:201~204。FIG2 is a flow chart of an image processing method according to some embodiments. The method can be implemented as any device, platform, server or device cluster with computing and processing capabilities, and includes the following steps: 201-204.
如图2所示,在步骤201中,获取待处理图像,以及在步骤202中,确定待处理图像中的待飘动对象和参考对象。As shown in FIG. 2 , in step 201 , an image to be processed is acquired, and in step 202 , an object to be moved and a reference object in the image to be processed are determined.
在一些实施例中,待处理图像可以是RGB色彩模式下的图像,待处理图像中可以包括能够实现飘动特效的待飘动对象。具体来说,待飘动对象可以是上端固定下端自由,能够随风飘动的物体。例如,待飘动对象可以是人物的头发,也可以是人物衣裙中的裙摆,也可以是装饰物上的流苏,还可以是人物佩戴的丝巾,或者可以是窗帘等。可以理解,本实施例对待飘动对象的具体类别方面不限定。In some embodiments, the image to be processed may be an image in RGB color mode, and the image to be processed may include an object to be fluttered that can achieve a fluttering special effect. Specifically, the object to be fluttered may be an object with a fixed upper end and a free lower end that can flutter in the wind. For example, the object to be fluttered may be the hair of a person, or the hem of a person's dress, or the tassel on a decoration, or a scarf worn by a person, or a curtain, etc. It can be understood that the present embodiment does not limit the specific category of the fluttering object.
可以确定待处理图像中的待飘动对象,即获取待处理图像中待飘动对象对应的区域信息。具体地,可以利用预先训练的识别模型对待飘动对象进行识别,从而确定待处理图像中待飘动对象对应的区域信息。其中,该识别模型可以是基于大量包括待飘动对象的样本图像训练得到的。可选地,在确定待处理图像中待飘动对象对应的区域信息之后,可以进一步基于待飘动对象对应的区域信息,获取待飘动对象对应的掩码图像。例如,可以将待处理图像中待飘动对象对应的区域的像素点赋值为0,其它区域的像素点赋值为1,从而得到待飘动对象的掩码图像。该待飘动对象的掩码图像可以用于后面网格化处理等过程中。The object to be floated in the image to be processed can be determined, that is, the region information corresponding to the object to be floated in the image to be processed can be obtained. Specifically, the object to be floated can be identified using a pre-trained recognition model, so as to determine the region information corresponding to the object to be floated in the image to be processed. Among them, the recognition model can be obtained by training based on a large number of sample images including the object to be floated. Optionally, after determining the region information corresponding to the object to be floated in the image to be processed, the mask image corresponding to the object to be floated can be further obtained based on the region information corresponding to the object to be floated. For example, the pixel points of the area corresponding to the object to be floated in the image to be processed can be assigned 0, and the pixel points of other areas can be assigned 1, so as to obtain the mask image of the object to be floated. The mask image of the object to be floated can be used in the subsequent gridding process and other processes.
在一些实施例中,待处理图像中还可以包括参考对象,参考对象可以是与待飘动对象之间存在遮挡关系的对象。在待飘动对象飘动时,会对参考对象产生遮挡,或者参考对象会对待飘动对象产生遮挡等。例如,若待飘动对象是人物的头发,则参考对象可以是人物的脸部。又例如,若待飘动对象是人物的裙摆,则参考对象可以是人物的腿部等。In some embodiments, the image to be processed may further include a reference object, and the reference object may be an object that has an occlusion relationship with the object to be fluttered. When the object to be fluttered flutters, it will occlude the reference object, or the reference object will occlude the object to be fluttered. For example, if the object to be fluttered is the hair of a person, the reference object may be the face of the person. For another example, if the object to be fluttered is the hem of a person's skirt, the reference object may be the legs of the person, etc.
可以采用预设算法确定待处理图像中的参考对象对应的区域信息。例如,以待飘动对象是人物头发,参考对象是人脸为例,可以先采用预设的人脸关键点检测算法检测待处理图像中的人脸关键点,其中,人脸关键点可以是人脸面部的关键区域中的点。例如,人脸关键点可以包括但不限于眉毛、眼睛、鼻子、嘴巴等区域上的多个点。然后,基于人脸关键点确定人脸轮廓,获取人脸轮廓围成的区域的信息,作为参考对象对应的区域信息。A preset algorithm may be used to determine the region information corresponding to the reference object in the image to be processed. For example, taking the case where the object to be fluttered is the hair of a person and the reference object is a face, a preset face key point detection algorithm may be used to detect the face key points in the image to be processed, wherein the face key points may be points in key regions of the face. For example, face key points may include but are not limited to multiple points on regions such as eyebrows, eyes, nose, and mouth. Then, the face contour is determined based on the face key points, and the information of the region surrounded by the face contour is obtained as the region information corresponding to the reference object.
在步骤203中,基于待飘动对象和参考对象,确定多个待处理层。In step 203, a plurality of layers to be processed are determined based on the object to be floated and the reference object.
在一些实施例中,多个待处理层可以是多个对应于不同的遮挡关系的区域层,可
以通过获取任一待处理层对应的区域,从而确定该待处理层。多个待处理层至少可以包括第一待处理层和第二待处理层,可以获取待飘动对象与参考对象交叠的区域,作为第一待处理层对应的区域,获取待飘动对象中与参考对象未交叠的区域,作为第二待处理层对应的区域。其中,第一待处理层对参考对象和第二待处理层具有遮挡,第二待处理层对参考对象无遮挡。In some embodiments, the multiple layers to be processed may be multiple regional layers corresponding to different occlusion relationships. By obtaining the area corresponding to any layer to be processed, the layer to be processed can be determined. The multiple layers to be processed may include at least a first layer to be processed and a second layer to be processed. The area where the object to be floated overlaps with the reference object can be obtained as the area corresponding to the first layer to be processed, and the area in the object to be floated that does not overlap with the reference object can be obtained as the area corresponding to the second layer to be processed. The first layer to be processed has occlusion on the reference object and the second layer to be processed, and the second layer to be processed has no occlusion on the reference object.
在一些实施例中,多个待处理层除了包括第一待处理层和第二待处理层以外,还可以包括第三待处理层。可以获取待飘动对象对应的区域,作为第三待处理层对应的区域。其中,第一待处理层对参考对象、第二待处理层和第三待处理层具有遮挡;第二待处理层对第三待处理层具有遮挡,对参考对象无遮挡;参考对象对第三待处理层具有遮挡。In some embodiments, the plurality of layers to be processed may include a third layer to be processed in addition to the first layer to be processed and the second layer to be processed. The area corresponding to the object to be floated may be obtained as the area corresponding to the third layer to be processed. The first layer to be processed has occlusion on the reference object, the second layer to be processed and the third layer to be processed; the second layer to be processed has occlusion on the third layer to be processed and has no occlusion on the reference object; the reference object has occlusion on the third layer to be processed.
例如,以待飘动对象是人物头发,参考对象是人脸为例,可以获取头发区域与人脸区域交叠的区域,作为第一待处理层对应的区域。获取头发区域中与人脸区域未交叠的区域,作为第二待处理层对应的区域。获取头发区域,作为第三待处理层对应的区域。其中,第一待处理层对应于头发中的刘海部分,第二待处理层对应于头发中除刘海之外的发束部分,第三待处理层对应于头发整体部分。因此,对应于刘海部分的第一待处理层在最上层,对人脸和另外两个待处理层均具有遮挡。对应于发束部分的第二待处理层在中间层,对人脸和第一待处理层无遮挡,对第三待处理层具有遮挡。对应于头发整体部分的第三待处理层在最下层作为背景层,人脸和另外两个待处理层均对第三待处理层具有遮挡。For example, if the object to be fluttered is the hair of a person and the reference object is a face, the area where the hair area overlaps with the face area can be obtained as the area corresponding to the first layer to be processed. The area in the hair area that does not overlap with the face area is obtained as the area corresponding to the second layer to be processed. The hair area is obtained as the area corresponding to the third layer to be processed. Among them, the first layer to be processed corresponds to the bangs part of the hair, the second layer to be processed corresponds to the hair bundle part other than the bangs, and the third layer to be processed corresponds to the entire part of the hair. Therefore, the first layer to be processed corresponding to the bangs part is in the uppermost layer, and has occlusion on the face and the other two layers to be processed. The second layer to be processed corresponding to the hair bundle part is in the middle layer, has no occlusion on the face and the first layer to be processed, and has occlusion on the third layer to be processed. The third layer to be processed corresponding to the entire part of the hair is in the lowermost layer as the background layer, and the face and the other two layers to be processed have occlusion on the third layer to be processed.
在步骤204中,基于多个待处理层,生成待飘动对象的飘动效果。In step 204, a fluttering effect of the object to be fluttered is generated based on the multiple layers to be processed.
在一些实施例中,可以获取每个待处理层对应的网格,得到多层网格,然后,获取每个待处理层对应的遮挡关系的信息。根据多层网格和上述遮挡关系的信息,生成多帧图像,通过播放该多帧图像可以展示待飘动对象的飘动效果。In some embodiments, the grid corresponding to each layer to be processed can be obtained to obtain a multi-layer grid, and then the occlusion relationship information corresponding to each layer to be processed can be obtained. According to the multi-layer grid and the occlusion relationship information, a multi-frame image is generated, and the floating effect of the object to be floated can be displayed by playing the multi-frame image.
本公开提供的一种图像处理方法,确定待处理图像中的待飘动对象和参考对象,并基于待飘动对象和参考对象,确定多个对应于不同遮挡关系的待处理层,根据多个待处理层,生成待飘动对象的飘动效果。由于本实施例考虑了待处理图像中的遮挡关系,根据具有不同遮挡关系的待处理层,生成待飘动对象的飘动效果,因此,使得经过飘动处理之后的动图或视频中待飘动对象,能够基于一定的遮挡关系按层交错飘动。从而在无需人工手动操作的前提下,实现了静态图像中部分物体的飘动效果,并使图像的显示效果更真实更生动,更具层次感和空间感,也提高了图像应用的灵活性和趣
味性。The present disclosure provides an image processing method, which determines an object to be floated and a reference object in an image to be processed, and based on the object to be floated and the reference object, determines a plurality of layers to be processed corresponding to different occlusion relationships, and generates a floating effect of the object to be floated according to the plurality of layers to be processed. Since the present embodiment takes into account the occlusion relationship in the image to be processed, and generates a floating effect of the object to be floated according to the layers to be processed with different occlusion relationships, the object to be floated in the animated image or video after the floating process can float in an interlaced manner by layer based on a certain occlusion relationship. Thereby, without the need for manual operation, the floating effect of some objects in a static image is achieved, and the display effect of the image is made more realistic and vivid, with a stronger sense of layering and space, and the flexibility and interest of image application are also improved. Taste.
图3是根据一些实施例示出的另一种图像处理方法的流程图,该实施例描述了生成待飘动对象的飘动效果的过程,包括以下步骤:301~303。FIG. 3 is a flow chart of another image processing method according to some embodiments. The embodiment describes a process of generating a floating effect of an object to be floated, including the following steps: 301 - 303 .
如图3所示,在步骤301中,获取每个待处理层对应的网格,得到多层网格。As shown in FIG. 3 , in step 301 , a grid corresponding to each layer to be processed is obtained to obtain a multi-layer grid.
在一些实施例中,可以对每个待处理层对应的区域进行网格化处理,得到多层网格。具体来说,可以分别获取每个待处理层对应的区域,对每个待处理层对应的区域进行网格化处理,得到每个待处理层对应的网格。In some embodiments, the area corresponding to each layer to be processed can be gridded to obtain a multi-layer grid. Specifically, the area corresponding to each layer to be processed can be obtained respectively, and the area corresponding to each layer to be processed can be gridded to obtain a grid corresponding to each layer to be processed.
在一些实施例中,可以将待飘动对象对应的区域纵向分割成多个子区域,每个子区域可以是一个飘动单位,还可以根据该多个子区域进行网格化处理。以待飘动对象是人物头发,参考对象是人脸为例,可以将人物头发分割成多个发束。然后,可以利用预设算法(例如三角剖分算法等),以发束为单位,对每个发束进行网格化处理,得到每个发束各自对应的网格。例如,可以在该发束对应的区域中随机选取多个点,并利用预设算法连接选取的多个点,生成由多个三角构成的网格。In some embodiments, the area corresponding to the object to be fluttered can be divided into multiple sub-areas vertically, each sub-area can be a fluttering unit, and grid processing can be performed according to the multiple sub-areas. For example, if the object to be fluttered is the hair of a person and the reference object is a face, the hair of the person can be divided into multiple hair bundles. Then, a preset algorithm (such as a triangulation algorithm, etc.) can be used to perform grid processing on each hair bundle in units of hair bundles to obtain a grid corresponding to each hair bundle. For example, multiple points can be randomly selected in the area corresponding to the hair bundle, and the selected multiple points can be connected using a preset algorithm to generate a grid composed of multiple triangles.
接着,可以确定第一待处理层对应的区域中包括的多个第一发束,确定第二待处理层对应的区域中包括的多个第二发束。然后,由多个第一发束对应的多个网格构成第一待处理层对应的一层网格,由多个第二发束对应的多个网格构成第二待处理层对应的一层网格。另外,还可以利用预设算法,对整个头发区域进行网格化处理,得到第三待处理层对应的一层网格。Next, a plurality of first hair bundles included in the region corresponding to the first to-be-processed layer may be determined, and a plurality of second hair bundles included in the region corresponding to the second to-be-processed layer may be determined. Then, a layer of grids corresponding to the first to-be-processed layer may be formed by a plurality of grids corresponding to the plurality of first hair bundles, and a layer of grids corresponding to the second to-be-processed layer may be formed by a plurality of grids corresponding to the plurality of second hair bundles. In addition, a preset algorithm may be used to perform grid processing on the entire hair region to obtain a layer of grids corresponding to the third to-be-processed layer.
在步骤302中,获取每个待处理层对应的遮挡关系的信息,以及在步骤303中,基于多层网格和遮挡关系的信息,生成待飘动对象的飘动效果。In step 302, the information of the occlusion relationship corresponding to each layer to be processed is obtained, and in step 303, the floating effect of the object to be floated is generated based on the information of the multi-layer grid and the occlusion relationship.
在一些实施例中,可以确定用于约束待飘动对象飘动的多个锚点,并基于该多个锚点对每层网格进行飘动效果处理,得到每层网格对应的飘动数据。具体地,首先,可以确定针对待飘动对象的锚点,针对待飘动对象的锚点可以包括用于固定待飘动对象的第一锚点和用于控制待飘动对象飘动的第二锚点。在将待飘动对象对应的区域分割成多个子区域的情况下,还可以确定每个子区域对应的锚点。任一子区域对应的锚点可以包括用于固定该子区域的第三锚点和用于控制该子区域飘动的第四锚点。In some embodiments, multiple anchor points for constraining the floating of the object to be floated can be determined, and floating effect processing can be performed on each layer of grids based on the multiple anchor points to obtain floating data corresponding to each layer of grids. Specifically, first, the anchor points for the object to be floated can be determined, and the anchor points for the object to be floated can include a first anchor point for fixing the object to be floated and a second anchor point for controlling the floating of the object to be floated. In the case where the area corresponding to the object to be floated is divided into multiple sub-areas, the anchor points corresponding to each sub-area can also be determined. The anchor points corresponding to any sub-area can include a third anchor point for fixing the sub-area and a fourth anchor point for controlling the floating of the sub-area.
其中,针对任一子区域,可以确定该子区域对应的最高点和过该最高点的中线,其中,该子区域对应的最高点可以是基于该子区域在图像中的坐标而确定的,该最高点可以是该子区域中纵坐标最大的点。上述过该最高点的中线也过该子区域对应的最低点,并且,该中线可以将该子区域平分成两部分,可以通过任意合理的算法确定该
中线,本实施例对该中线的确定方式方面不限定。可以将该最高点确定为用于固定该子区域的第三锚点,将该中线上按照预设距离等距选取的点确定为用于控制该子区域运动的第四锚点。For any sub-region, the highest point corresponding to the sub-region and the midline passing through the highest point can be determined, wherein the highest point corresponding to the sub-region can be determined based on the coordinates of the sub-region in the image, and the highest point can be the point with the largest ordinate in the sub-region. The midline passing through the highest point also passes through the lowest point corresponding to the sub-region, and the midline can divide the sub-region into two parts. The midline can be determined by any reasonable algorithm. The middle line, this embodiment does not limit the determination method of the middle line. The highest point can be determined as the third anchor point for fixing the sub-area, and the points on the middle line equidistantly selected according to the preset distance can be determined as the fourth anchor point for controlling the movement of the sub-area.
针对待飘动物体,可以检测参考对象的关键点,基于该关键点确定固定待飘动物体的固定边线,从该固定边线上选取被待飘动对象覆盖的点作为用于固定待飘动对象的第一锚点。例如,以待飘动对象是人物头发,参考对象是人脸为例,确定人脸关键点,基于人脸关键点确定固定头发的额头轮廓边线,从该额头轮廓边线上选取被头发覆盖的点作为针对头发整体的第一锚点。另外,可以随机从用于控制子区域运动的多个第四锚点中选取多个点,作为用于控制待飘动对象飘动的第二锚点。For the object to be floated, the key points of the reference object can be detected, and a fixed edge line for fixing the object to be floated can be determined based on the key points, and a point covered by the object to be floated is selected from the fixed edge line as the first anchor point for fixing the object to be floated. For example, taking the object to be floated as the hair of a person and the reference object as a face, the key points of the face are determined, and the forehead contour edge line for fixing the hair is determined based on the key points of the face, and the point covered by the hair is selected from the forehead contour edge line as the first anchor point for the entire hair. In addition, multiple points can be randomly selected from multiple fourth anchor points used to control the movement of the sub-region as the second anchor point for controlling the floating of the object to be floated.
在一些实施例中,在确定多个锚点之后,还可以根据需要的飘动效果,确定每个锚点对应的轨迹点。对于用于固定待飘动对象的第一锚点以及用于固定子区域的第三锚点来说,其相应的轨迹点为固定点。对于用于控制待飘动对象飘动的第二锚点以及用于控制子区域飘动的第四锚点来说,可以根据需要的飘动效果,利用预设算法计算每个锚点对应的轨迹信息。并根据每个锚点对应的轨迹信息,确定待生成的多帧图像中每帧图像中各个锚点的位置点。In some embodiments, after determining multiple anchor points, the trajectory points corresponding to each anchor point can also be determined according to the desired floating effect. For the first anchor point used to fix the object to be floated and the third anchor point used to fix the sub-area, their corresponding trajectory points are fixed points. For the second anchor point used to control the floating of the object to be floated and the fourth anchor point used to control the floating of the sub-area, the trajectory information corresponding to each anchor point can be calculated using a preset algorithm according to the desired floating effect. And according to the trajectory information corresponding to each anchor point, the position point of each anchor point in each frame of the multiple frames of images to be generated is determined.
在一些实施例中,可以根据预设的约束条件(例如该约束条件可以指示锚点与区域中其它点的距离关系等)以及每帧图像中各个锚点的位置点,确定每层网格对应的飘动数据。其中,任一层网格对应的飘动数据可以包括该层网格对应的网格区域信息。最后,可以基于上述遮挡关系的信息,对每层网格对应的飘动数据进行遮挡处理,并根据待处理图像中各个像素点的像素值以及经过遮挡处理之后的数据,确定每帧待生成的图像中各个像素点的像素值,从而进行渲染处理,得到多帧图像。该多帧图像可以构成动图或视频,如果展示该多帧图像,能够显示待飘动物体的飘动效果。In some embodiments, the floating data corresponding to each layer of grid can be determined based on preset constraints (for example, the constraints can indicate the distance relationship between the anchor point and other points in the area, etc.) and the position points of each anchor point in each frame of the image. Among them, the floating data corresponding to any layer of grids can include the grid area information corresponding to the layer of grids. Finally, based on the information of the above-mentioned occlusion relationship, the floating data corresponding to each layer of grids can be occluded, and the pixel values of each pixel point in each frame of the image to be generated can be determined based on the pixel values of each pixel point in the image to be processed and the data after occlusion processing, so as to perform rendering processing and obtain multiple frames of images. The multiple frames of images can constitute a dynamic image or video. If the multiple frames of images are displayed, the floating effect of the object to be floated can be displayed.
由于本实施例通过每个待处理层对应的网格以及每个待处理层对应的遮挡关系的信息,生成待飘动对象的飘动效果,因此,能够使经过飘动处理之后的动图或视频中待飘动物体,基于一定的遮挡关系按层交错飘动的效果更为真实,进一步提高了经过飘动处理之后的动图或视频中待飘动物体的飘动效果。Since this embodiment generates the floating effect of the object to be floated through the information of the grids corresponding to each layer to be processed and the occlusion relationship corresponding to each layer to be processed, the floating effect of the object to be floated in the animated image or video after the floating processing can be made more realistic by staggered floating by layers based on certain occlusion relationships, further improving the floating effect of the object to be floated in the animated image or video after the floating processing.
应当注意,尽管在上述实施例中,以特定顺序描述了本公开实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步
骤分解为多个步骤执行。It should be noted that although the operations of the method of the embodiment of the present disclosure are described in a specific order in the above embodiments, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. On the contrary, the steps depicted in the flowchart can be performed in a different order. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step, and/or one step can be performed in a different order. The step is broken down into multiple steps for execution.
与前述图像处理方法实施例相对应,本公开还提供了图像处理装置的实施例。Corresponding to the aforementioned image processing method embodiment, the present disclosure also provides an embodiment of an image processing device.
如图4所示,图4是本公开根据一示例性实施例示出的一种图像处理装置的框图,该装置可以包括:获取模块401,确定模块402,分层模块403和生成模块404。As shown in FIG. 4 , FIG. 4 is a block diagram of an image processing device according to an exemplary embodiment of the present disclosure. The device may include: an acquisition module 401 , a determination module 402 , a layering module 403 and a generation module 404 .
其中,获取模块401,用于获取待处理图像,该待处理图像包括待飘动对象。The acquisition module 401 is used to acquire an image to be processed, where the image to be processed includes an object to be floating.
确定模块402,用于确定待处理图像中的待飘动对象和参考对象。The determination module 402 is used to determine the object to be moved and the reference object in the image to be processed.
分层模块403,用于基于待飘动对象和参考对象,确定多个待处理层,其中,不同的待处理层对应于不同的遮挡关系。The layering module 403 is used to determine a plurality of layers to be processed based on the object to be floated and the reference object, wherein different layers to be processed correspond to different occlusion relationships.
生成模块404,用于基于多个待处理层,生成待飘动对象的飘动效果。The generating module 404 is used to generate a fluttering effect of the object to be fluttered based on the multiple layers to be processed.
在一些实施方式中,多个待处理层可以包括第一待处理层和第二待处理层,其中,分层模块403被配置用于:确定待飘动对象与参考对象交叠的区域作为第一待处理层对应的区域;确定待飘动对象中与参考对象未交叠的区域作为第二待处理层对应的区域。In some embodiments, the multiple layers to be processed may include a first layer to be processed and a second layer to be processed, wherein the layering module 403 is configured to: determine an area where the object to be floated overlaps with the reference object as an area corresponding to the first layer to be processed; and determine an area in the object to be floated that does not overlap with the reference object as an area corresponding to the second layer to be processed.
在一些实施方式中,多个待处理层还可以包括第三待处理层,其中,分层模块403还被配置用于:将待飘动对象对应的区域确定为第三待处理层对应的区域。In some implementations, the multiple layers to be processed may further include a third layer to be processed, wherein the layering module 403 is further configured to: determine the area corresponding to the object to be fluttered as the area corresponding to the third layer to be processed.
在一些实施方式中,不同的待处理层对应于不同的遮挡关系包括:第一待处理层对参考对象、第二待处理层和第三待处理层具有遮挡,第二待处理层对第三待处理层具有遮挡,参考对象对第三待处理层具有遮挡。In some embodiments, different layers to be processed correspond to different occlusion relationships, including: the first layer to be processed has occlusion on the reference object, the second layer to be processed and the third layer to be processed, the second layer to be processed has occlusion on the third layer to be processed, and the reference object has occlusion on the third layer to be processed.
在一些实施方式中,生成模块404可以包括:第一获取子模块,第二获取子模块和生成子模块(图中未示出)。In some implementations, the generation module 404 may include: a first acquisition submodule, a second acquisition submodule, and a generation submodule (not shown in the figure).
其中,第一获取子模块,用于获取每个待处理层对应的网格,得到多层网格。The first acquisition submodule is used to acquire the grid corresponding to each layer to be processed to obtain a multi-layer grid.
第二获取子模块,用于获取每个待处理层对应的遮挡关系的信息。The second acquisition submodule is used to obtain the occlusion relationship information corresponding to each layer to be processed.
生成子模块,用于基于多层网格和遮挡关系的信息,生成待飘动对象的飘动效果。The generation submodule is used to generate the floating effect of the object to be floated based on the information of the multi-layer grid and the occlusion relationship.
在一些实施方式中,第一获取子模块被配置用于:对每个待处理层对应的区域进行网格化处理,得到多层网格。In some implementations, the first acquisition submodule is configured to: perform gridding processing on the area corresponding to each layer to be processed to obtain a multi-layer grid.
在一些实施方式中,生成子模块被配置用于:对每层网格进行飘动效果处理,得到每层网格对应的飘动数据,基于上述遮挡关系的信息,对每层网格对应的飘动数据进行遮挡处理,得到用于展示飘动效果的多帧图像。In some embodiments, the generation submodule is configured to: perform floating effect processing on each layer of grids to obtain floating data corresponding to each layer of grids, and based on the occlusion relationship information, perform occlusion processing on the floating data corresponding to each layer of grids to obtain multiple frames of images for displaying the floating effect.
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离
部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。For the device embodiment, since it basically corresponds to the method embodiment, the relevant parts can be referred to the partial description of the method embodiment. The device embodiment described above is only illustrative, and the separation The units described by the components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the embodiments of the present disclosure. Those of ordinary skill in the art may understand and implement them without creative work.
图5为本公开一些实施例提供的一种电子设备的示意框图。如图5所示,该电子设备910包括处理器911和存储器912,可以用于实现客户端或服务器。存储器912用于非瞬时性地存储有计算机可执行指令(例如一个或多个计算机程序模块)。处理器911用于运行该计算机可执行指令,该计算机可执行指令被处理器911运行时可以执行上文所述的图像处理方法中的一个或多个步骤,进而实现上文所述的图像处理方法。存储器912和处理器911可以通过总线系统和/或其它形式的连接机构(未示出)互连。FIG5 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure. As shown in FIG5 , the electronic device 910 includes a processor 911 and a memory 912, which can be used to implement a client or a server. The memory 912 is used to store computer executable instructions (e.g., one or more computer program modules) non-transiently. The processor 911 is used to run the computer executable instructions, and when the computer executable instructions are run by the processor 911, one or more steps in the image processing method described above can be executed, thereby implementing the image processing method described above. The memory 912 and the processor 911 can be interconnected via a bus system and/or other forms of connection mechanisms (not shown).
例如,处理器911可以是中央处理单元(CPU)、图形处理单元(GPU)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元。例如,中央处理单元(CPU)可以为X86或ARM架构等。处理器911可以为通用处理器或专用处理器,可以控制电子设备910中的其它组件以执行期望的功能。For example, the processor 911 may be a central processing unit (CPU), a graphics processing unit (GPU), or other forms of processing units having data processing capabilities and/or program execution capabilities. For example, the central processing unit (CPU) may be an X86 or ARM architecture, etc. The processor 911 may be a general-purpose processor or a dedicated processor, and may control other components in the electronic device 910 to perform desired functions.
例如,存储器912可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器911可以运行一个或多个计算机程序模块,以实现电子设备910的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。For example, the memory 912 may include any combination of one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and/or cache memory (cache), etc. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, erasable programmable read-only memory (EPROM), portable compact disk read-only memory (CD-ROM), USB memory, flash memory, etc. One or more computer program modules may be stored on the computer-readable storage medium, and the processor 911 may run one or more computer program modules to implement various functions of the electronic device 910. Various applications and various data, as well as various data used and/or generated by the application, etc. may also be stored in the computer-readable storage medium.
需要说明的是,本公开的实施例中,电子设备910的具体功能和技术效果可以参考上文中关于图像处理方法的描述,此处不再赘述。It should be noted that, in the embodiment of the present disclosure, the specific functions and technical effects of the electronic device 910 can refer to the above description of the image processing method, which will not be repeated here.
图6为本公开一些实施例提供的另一种电子设备的示意框图。该电子设备920例如适于用来实施本公开实施例提供的图像处理方法。电子设备920可以是终端设备等,可以用于实现客户端或服务器。电子设备920可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴电子设备等等的移动终端以及诸如
数字TV、台式计算机、智能家居设备等等的固定终端。需要注意的是,图6示出的电子设备920仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。FIG6 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure. The electronic device 920 is suitable for implementing the image processing method provided by the embodiments of the present disclosure. The electronic device 920 may be a terminal device, etc., and may be used to implement a client or a server. The electronic device 920 may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), wearable electronic devices, etc., and devices such as Fixed terminals of digital TV, desktop computers, smart home devices, etc. It should be noted that the electronic device 920 shown in FIG6 is only an example, which does not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
如图6所示,电子设备920可以包括处理装置(例如中央处理器、图形处理器等)921,其可以根据存储在只读存储器(ROM)922中的程序或者从存储装置928加载到随机访问存储器(RAM)923中的程序而执行各种适当的动作和处理。在RAM 923中,还存储有电子设备920操作所需的各种程序和数据。处理装置921、ROM 922以及RAM923通过总线924彼此相连。输入/输出(I/O)接口925也连接至总线924。As shown in FIG6 , the electronic device 920 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 921, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 922 or a program loaded from a storage device 928 to a random access memory (RAM) 923. In the RAM 923, various programs and data required for the operation of the electronic device 920 are also stored. The processing device 921, the ROM 922, and the RAM 923 are connected to each other via a bus 924. An input/output (I/O) interface 925 is also connected to the bus 924.
通常,以下装置可以连接至I/O接口925:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置926;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置927;包括例如磁带、硬盘等的存储装置928;以及通信装置929。通信装置929可以允许电子设备920与其他电子设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备920,但应理解的是,并不要求实施或具备所有示出的装置,电子设备920可以替代地实施或具备更多或更少的装置。Typically, the following devices may be connected to the I/O interface 925: input devices 926 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 927 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 928 including, for example, a magnetic tape, a hard disk, etc.; and communication devices 929. The communication devices 929 may allow the electronic device 920 to communicate with other electronic devices wirelessly or by wire to exchange data. Although FIG. 6 shows an electronic device 920 with various devices, it should be understood that it is not required to implement or have all of the devices shown, and the electronic device 920 may alternatively implement or have more or fewer devices.
例如,根据本公开的实施例,上述图像处理方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述图像处理方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置929从网络上被下载和安装,或者从存储装置928安装,或者从ROM922安装。在该计算机程序被处理装置921执行时,可以实现本公开实施例提供的图像处理方法中限定的功能。For example, according to an embodiment of the present disclosure, the above-mentioned image processing method can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the above-mentioned image processing method. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 929, or installed from the storage device 928, or installed from the ROM 922. When the computer program is executed by the processing device 921, the functions defined in the image processing method provided by the embodiment of the present disclosure can be implemented.
图7为本公开一些实施例提供的一种存储介质的示意图。例如,如图7所示,存储介质930可以为非暂时性计算机可读存储介质,用于存储非暂时性计算机可执行指令931。当非暂时性计算机可执行指令931由处理器执行时可以实现本公开实施例所述的图像处理方法,例如,当非暂时性计算机可执行指令931由处理器执行时,可以执行根据上文所述的图像处理方法中的一个或多个步骤。FIG7 is a schematic diagram of a storage medium provided by some embodiments of the present disclosure. For example, as shown in FIG7, the storage medium 930 may be a non-transitory computer-readable storage medium for storing a non-transitory computer-executable instruction 931. When the non-transitory computer-executable instruction 931 is executed by a processor, the image processing method described in the embodiment of the present disclosure may be implemented. For example, when the non-transitory computer-executable instruction 931 is executed by a processor, one or more steps in the image processing method described above may be executed.
例如,该存储介质930可以应用于上述电子设备中,例如,该存储介质930可以包括电子设备中的存储器。For example, the storage medium 930 may be applied to the above-mentioned electronic device. For example, the storage medium 930 may include a memory in the electronic device.
例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组
合,也可以为其他适用的存储介质。For example, the storage medium may include a memory card of a smartphone, a storage component of a tablet computer, a hard disk of a personal computer, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), a flash memory, or any combination of the above storage media. It can also be other applicable storage media.
例如,关于存储介质930的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。存储介质930的具体功能和技术效果可以参考上文中关于图像处理方法的描述,此处不再赘述。For example, the description of the storage medium 930 can refer to the description of the memory in the embodiment of the electronic device, and the repeated parts are not repeated. The specific functions and technical effects of the storage medium 930 can refer to the description of the image processing method above, and are not repeated here.
需要说明的是,在本公开的上下文中,计算机可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。It should be noted that in the context of the present disclosure, a computer-readable medium may be a tangible medium that may contain or store a program for use by an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. A computer-readable storage medium may be, for example, but not limited to: an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that may be used by an instruction execution system, device or device or used in combination with it. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
本公开还提供一种计算机程序产品,包括指令,当所述指令被处理器执行时,使所述处理器实现前述任意实施例的图像处理方法。The present disclosure also provides a computer program product, comprising instructions, which, when executed by a processor, enable the processor to implement the image processing method of any of the aforementioned embodiments.
本公开还提供一种计算机程序,包括指令,当所述指令被处理器执行时,使所述处理器实现前述任意实施例的图像处理方法。The present disclosure also provides a computer program, comprising instructions, which, when executed by a processor, enable the processor to implement the image processing method of any of the aforementioned embodiments.
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered exemplary only, and the true scope and spirit of the present disclosure are indicated by the claims.
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (14)
- 一种图像处理方法,包括:An image processing method, comprising:获取待处理图像,其中,所述待处理图像包括待飘动对象;Acquire an image to be processed, wherein the image to be processed includes an object to be moved;确定所述待处理图像中的所述待飘动对象和参考对象;Determining the object to be moved and a reference object in the image to be processed;基于所述待飘动对象和所述参考对象,确定多个待处理层,其中,不同的待处理层对应于不同的遮挡关系;Based on the object to be floated and the reference object, determining a plurality of layers to be processed, wherein different layers to be processed correspond to different occlusion relationships;基于所述多个待处理层,生成所述待飘动对象的飘动效果。Based on the multiple layers to be processed, a fluttering effect of the object to be fluttered is generated.
- 根据权利要求1所述的图像处理方法,其中,所述多个待处理层包括第一待处理层和第二待处理层,所述基于所述待飘动对象和所述参考对象,确定多个待处理层包括:The image processing method according to claim 1, wherein the plurality of layers to be processed include a first layer to be processed and a second layer to be processed, and the determining the plurality of layers to be processed based on the object to be floated and the reference object includes:确定所述待飘动对象与所述参考对象交叠的区域作为所述第一待处理层对应的区域;Determine an area where the object to be floated overlaps with the reference object as an area corresponding to the first layer to be processed;确定所述待飘动对象中与所述参考对象未交叠的区域作为所述第二待处理层对应的区域。An area of the object to be floated that does not overlap with the reference object is determined as an area corresponding to the second layer to be processed.
- 根据权利要求2所述的图像处理方法,其中,所述多个待处理层还包括第三待处理层,所述基于所述待飘动对象和所述参考对象,确定多个待处理层还包括:The image processing method according to claim 2, wherein the plurality of layers to be processed further include a third layer to be processed, and the determining the plurality of layers to be processed based on the object to be floated and the reference object further includes:将所述待飘动对象对应的区域确定为所述第三待处理层对应的区域。The area corresponding to the object to be floated is determined as the area corresponding to the third layer to be processed.
- 根据权利要求3所述的图像处理方法,其中,所述不同的待处理层对应于不同的遮挡关系包括:所述第一待处理层对所述参考对象、所述第二待处理层和所述第三待处理层具有遮挡;所述第二待处理层对所述第三待处理层具有遮挡;所述参考对象对所述第三待处理层具有遮挡。According to the image processing method according to claim 3, wherein the different layers to be processed correspond to different occlusion relationships, including: the first layer to be processed has occlusion on the reference object, the second layer to be processed and the third layer to be processed; the second layer to be processed has occlusion on the third layer to be processed; the reference object has occlusion on the third layer to be processed.
- 根据权利要求1-4任一项所述的图像处理方法,其中,所述基于所述多个待处理层,生成所述待飘动对象的飘动效果包括:According to the image processing method according to any one of claims 1 to 4, wherein generating the floating effect of the object to be floated based on the multiple layers to be processed comprises:获取每个所述待处理层对应的网格,得到多层网格;Obtaining the grid corresponding to each of the layers to be processed to obtain a multi-layer grid;获取每个所述待处理层对应的遮挡关系的信息;Obtaining information about the occlusion relationship corresponding to each of the layers to be processed;基于所述多层网格和所述遮挡关系的信息,生成所述待飘动对象的飘动效果。Based on the information of the multi-layer grids and the occlusion relationship, a floating effect of the object to be floated is generated.
- 根据权利要求5所述的图像处理方法,其中,所述获取每个所述待处理层对应的网格,得到多层网格包括:对每个所述待处理层对应的区域进行网格化处理,得到多层网格。 According to the image processing method of claim 5, wherein the obtaining of the grid corresponding to each of the layers to be processed to obtain the multi-layer grid comprises: performing gridding processing on the area corresponding to each of the layers to be processed to obtain the multi-layer grid.
- 根据权利要求5或6所述的图像处理方法,其中,所述基于所述多层网格和所述遮挡关系的信息,生成所述待飘动对象的飘动效果包括:According to the image processing method of claim 5 or 6, wherein the generating the floating effect of the object to be floated based on the information of the multi-layer grid and the occlusion relationship comprises:对每层所述网格进行飘动效果处理,得到每层所述网格对应的飘动数据;Performing floating effect processing on the grids of each layer to obtain floating data corresponding to the grids of each layer;基于所述遮挡关系的信息,对每层所述网格对应的飘动数据进行遮挡处理,得到用于展示所述飘动效果的多帧图像。Based on the information of the occlusion relationship, occlusion processing is performed on the floating data corresponding to each layer of the grid to obtain multiple frames of images for displaying the floating effect.
- 根据权利要求7所述的图像处理方法,其中,所述对每层所述网格进行飘动效果处理,得到每层所述网格对应的飘动数据包括:According to the image processing method of claim 7, wherein the performing floating effect processing on each layer of the grid to obtain floating data corresponding to each layer of the grid comprises:确定用于约束所述待飘动对象飘动的多个锚点;Determining a plurality of anchor points for constraining the floating of the object to be floated;根据所述飘动效果,确定每个锚点对应的轨迹点;According to the fluttering effect, determining the trajectory point corresponding to each anchor point;根据所述每个锚点对应的轨迹信息,确定待生成的多帧图像中每帧图像中各个锚点的位置点;Determine the position of each anchor point in each frame of the multiple frames of images to be generated according to the trajectory information corresponding to each anchor point;根据预设的约束条件以及每帧图像中各个锚点的位置点,确定每层网格对应的飘动数据。According to the preset constraints and the position points of each anchor point in each frame image, the floating data corresponding to each layer of grid is determined.
- 根据权利要求8所述的图像处理方法,其中,所述多个锚点包括用于固定所述待飘动对象的第一锚点和用于控制待飘动对象飘动的第二锚点,在将所述待飘动对象对应的区域分割成多个子区域的情况下,所述多个锚点还包括每个子区域对应的锚点,每个子区域对应的锚点包括用于固定该子区域的第三锚点和用于控制该子区域飘动的第四锚点。According to the image processing method of claim 8, wherein the multiple anchor points include a first anchor point for fixing the object to be floated and a second anchor point for controlling the floating of the object to be floated, and when the area corresponding to the object to be floated is divided into multiple sub-areas, the multiple anchor points also include anchor points corresponding to each sub-area, and the anchor points corresponding to each sub-area include a third anchor point for fixing the sub-area and a fourth anchor point for controlling the floating of the sub-area.
- 一种图像处理装置,包括:An image processing device, comprising:获取模块,用于获取待处理图像;所述待处理图像包括待飘动对象;An acquisition module, used for acquiring an image to be processed; the image to be processed includes an object to be moved;确定模块,用于确定所述待处理图像中的所述待飘动对象和参考对象;A determination module, used for determining the object to be moved and the reference object in the image to be processed;分层模块,用于基于所述待飘动对象和所述参考对象,确定多个待处理层;其中,不同的待处理层对应于不同的遮挡关系;A layering module, used to determine a plurality of layers to be processed based on the object to be floated and the reference object; wherein different layers to be processed correspond to different occlusion relationships;生成模块,用于基于所述多个待处理层,生成所述待飘动对象的飘动效果。A generating module is used to generate a fluttering effect of the object to be fluttered based on the multiple layers to be processed.
- 一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令所述计算机执行权利要求1-9中任一项所述的图像处理方法。A computer-readable storage medium stores a computer program, which, when executed in a computer, causes the computer to execute the image processing method according to any one of claims 1 to 9.
- 一种电子设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的图像处理方法。An electronic device comprises a memory and a processor, wherein the memory stores executable codes, and when the processor executes the executable codes, the image processing method according to any one of claims 1 to 9 is implemented.
- 一种计算机程序产品,包括指令,当所述指令被处理器执行时,使所述处理器实现权利要求1-9任一项所述的图像处理方法。 A computer program product comprises instructions, and when the instructions are executed by a processor, the processor is enabled to implement the image processing method according to any one of claims 1 to 9.
- 一种计算机程序,包括指令,当所述指令被处理器执行时,使所述处理器实现权利要求1-9任一项所述的图像处理方法。 A computer program comprises instructions, and when the instructions are executed by a processor, the processor is enabled to implement the image processing method according to any one of claims 1 to 9.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310215668.7A CN116168123A (en) | 2023-02-28 | 2023-02-28 | Image processing method and device and electronic equipment |
CN202310215668.7 | 2023-02-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024179319A1 true WO2024179319A1 (en) | 2024-09-06 |
Family
ID=86413211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2024/077550 WO2024179319A1 (en) | 2023-02-28 | 2024-02-19 | Image processing method and apparatus, and electronic device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116168123A (en) |
WO (1) | WO2024179319A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116168123A (en) * | 2023-02-28 | 2023-05-26 | 北京字跳网络技术有限公司 | Image processing method and device and electronic equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114693515A (en) * | 2022-03-29 | 2022-07-01 | 北京大甜绵白糖科技有限公司 | Image deformation method and device, electronic equipment and storage medium |
WO2023020239A1 (en) * | 2021-08-16 | 2023-02-23 | 北京字跳网络技术有限公司 | Special effect generation method and apparatus, electronic device and storage medium |
CN116168123A (en) * | 2023-02-28 | 2023-05-26 | 北京字跳网络技术有限公司 | Image processing method and device and electronic equipment |
-
2023
- 2023-02-28 CN CN202310215668.7A patent/CN116168123A/en active Pending
-
2024
- 2024-02-19 WO PCT/CN2024/077550 patent/WO2024179319A1/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023020239A1 (en) * | 2021-08-16 | 2023-02-23 | 北京字跳网络技术有限公司 | Special effect generation method and apparatus, electronic device and storage medium |
CN114693515A (en) * | 2022-03-29 | 2022-07-01 | 北京大甜绵白糖科技有限公司 | Image deformation method and device, electronic equipment and storage medium |
CN116168123A (en) * | 2023-02-28 | 2023-05-26 | 北京字跳网络技术有限公司 | Image processing method and device and electronic equipment |
Non-Patent Citations (2)
Title |
---|
ANONYMOUS: "Java is Adapted for Flagship_Floating Flag! Programming Practice with Shader! Cocos Creator!)", CSDN BLOG, 28 February 2021 (2021-02-28), XP093204973, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_33124479/article/details/114847324> * |
ANONYMOUS: "Make Floating Hair with flash", CSDN BLOG, 8 April 2010 (2010-04-08), XP093204969, Retrieved from the Internet <URL:https://blog.csdn.net/iteye_14502/article/details/81849815> * |
Also Published As
Publication number | Publication date |
---|---|
CN116168123A (en) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354825B2 (en) | Method, apparatus for generating special effect based on face, and electronic device | |
CN111787242B (en) | Method and apparatus for virtual fitting | |
US11989845B2 (en) | Implementation and display of augmented reality | |
JP7199527B2 (en) | Image processing method, device, hardware device | |
CN110062176B (en) | Method and device for generating video, electronic equipment and computer readable storage medium | |
US11409794B2 (en) | Image deformation control method and device and hardware device | |
WO2020248900A1 (en) | Panoramic video processing method and apparatus, and storage medium | |
WO2021254502A1 (en) | Target object display method and apparatus and electronic device | |
WO2020192195A1 (en) | Image processing method and apparatus, and electronic device | |
US20230245398A1 (en) | Image effect implementing method and apparatus, electronic device and storage medium | |
US20230061012A1 (en) | Image processing method and apparatus for augmented reality, electronic device, and storage medium | |
CN110210501B (en) | Virtual object generation method, electronic device and computer-readable storage medium | |
CN114003160B (en) | Data visual display method, device, computer equipment and storage medium | |
WO2024179319A1 (en) | Image processing method and apparatus, and electronic device | |
CN112884908A (en) | Augmented reality-based display method, device, storage medium, and program product | |
WO2024125267A1 (en) | Image processing method and apparatus, computer-readable storage medium, electronic device and computer program product | |
WO2024179327A1 (en) | Image processing method and apparatus, and electronic device | |
US20140198177A1 (en) | Realtime photo retouching of live video | |
WO2023030177A1 (en) | Video processing method and apparatus, computer readable storage medium, and computer device | |
WO2023030176A1 (en) | Video processing method and apparatus, computer-readable storage medium, and computer device | |
WO2020155984A1 (en) | Facial expression image processing method and apparatus, and electronic device | |
AU2016230943B2 (en) | Virtual trying-on experience | |
WO2020155981A1 (en) | Emoticon effect generating method and device and electronic device | |
US11763533B2 (en) | Display method based on augmented reality, device, storage medium and program product | |
CN111652025A (en) | Face processing method, live broadcast method, device, electronic equipment and storage medium |
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: 24763002 Country of ref document: EP Kind code of ref document: A1 |