Image processing method and device, equipment, storage medium and program product
By providing candidate tool groups in the image processing interface, users can select the target tool group to process the initial image and perform annotations, which solves the problems of complex and inefficient image processing operations and achieves convenient and efficient image processing.
Patent Information
- Application Number
- CN202510772205.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-10
- Publication Date
- 2025-09-05
AI Technical Summary
In the image processing process, existing technologies have problems such as how to efficiently and conveniently complete image annotation and processing, especially when identifying key information such as lesions in medical images, which has complex operations and low efficiency.
By presenting an image processing interface and providing candidate tool sets, the user selects the target tool set and performs image processing, including preprocessing and user annotation of the initial image, generating intermediate images, and finally obtaining the result image.
It reduces user operating costs, improves the efficiency and convenience of image processing, and meets the personalized processing needs of different users.
Smart Images

Figure CN120595983A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, specifically to artificial intelligence technologies such as computer vision, image processing, and human-computer interaction, and especially to methods, devices, electronic devices, computer-readable storage media, and computer program products for processing images. Background Art
[0002] With the development of society and computer technology, artificial intelligence technology has gradually been applied to various fields. For example, after training a processing model, it can be used to complete the corresponding processing task.
[0003] Training processing models often relies on supervised learning using labeled image datasets. The information provided by these annotations can effectively guide the learning and recognition process of the processing model. For example, in the medical field, processing models with image recognition capabilities can be used to process medical images and identify key information (e.g., lesions). Therefore, efficient image processing and annotation are of great concern and urgent need. Summary of the Invention
[0004] The embodiments of the present disclosure provide a method, apparatus, electronic device, computer-readable storage medium, and computer program product for processing an image.
[0005] In a first aspect, an embodiment of the present disclosure proposes a method for processing an image, comprising: in response to receiving an image processing request, presenting an image processing interface, wherein the image processing interface includes a candidate tool group, the candidate tool group includes at least two image processing tools and an execution order between the at least two image processing tools; determining a target tool group based on a tool group selection action collected for the candidate tool group, and processing an initial image using the target tool group to obtain an intermediate image; presenting the intermediate image in the image processing interface; processing the intermediate image based on the image processing action collected for the intermediate image to obtain a result image.
[0006] In a second aspect, an embodiment of the present disclosure proposes a device for processing an image, comprising: an image processing interface presentation unit, configured to present an image processing interface in response to receiving an image processing request, wherein the image processing interface includes a candidate tool group, the candidate tool group includes at least two image processing tools and an execution order between the at least two image processing tools; an initial image processing unit, configured to determine a target tool group based on a tool group selection action collected for the candidate tool group, and use the target tool group to process the initial image to obtain an intermediate image; an intermediate image presentation unit, configured to present an intermediate image in the image processing interface; and an intermediate image processing unit, configured to process the intermediate image based on the image processing action collected for the intermediate image to obtain a result image.
[0007] In a third aspect, an embodiment of the present disclosure provides an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can implement the method for processing an image as described in any implementation method in the first aspect when executing the instructions.
[0008] In a fourth aspect, an embodiment of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, which are used to enable a computer to implement the method for processing an image as described in any implementation manner in the first aspect when executed.
[0009] In a fifth aspect, an embodiment of the present disclosure provides a computer program product comprising a computer program, which, when executed by a processor, can implement the method for processing an image as described in any implementation manner in the first aspect.
[0010] The methods, devices, electronic devices, computer-readable storage media, and computer program products for processing images provided by the embodiments of the present disclosure include: first, if an image processing request is received, the method can respond to it and present an image processing interface, wherein the image processing interface includes a candidate tool group, and the candidate tool group includes at least two image processing tools and an execution order between the at least two image processing tools; then, based on the collected tool group selection actions for the candidate tool group, a target tool group is determined, and the target tool group is used to process the initial image to obtain an intermediate image; next, the intermediate image is presented in the image processing interface; finally, based on the collected image processing actions for the intermediate image, the intermediate image is processed to obtain a result image.
[0011] The present disclosure enables users to conveniently and efficiently complete at least part of the processing operations on images through the tool set, thereby reducing the user's operating costs during image processing and improving image processing efficiency.
[0012] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Other features, objects and advantages of the present disclosure will become more apparent from a reading of the detailed description of non-limiting embodiments made with reference to the following drawings: Figure 1 is an exemplary system architecture in which the present disclosure may be applied; Figure 2 A flowchart of a process for processing an image provided by an embodiment of the present disclosure; Figure 3a-3b A schematic diagram of the effect of an image processing interface in an application scenario provided by an embodiment of the present disclosure; Figure 4 A flowchart of a process for generating a candidate tool group provided by an embodiment of the present disclosure; Figure 5 A schematic diagram of the effect of the tool group editing interface in an application scenario provided by an embodiment of the present disclosure; Figure 6 A schematic diagram of the effect of a new tool interface in an application scenario provided by an embodiment of the present disclosure; Figure 7 A structural block diagram of an image processing device provided in an embodiment of the present disclosure; Figure 8 A schematic structural diagram of an electronic device suitable for executing a method for processing an image provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0014] The following description of exemplary embodiments of the present disclosure is made in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those skilled in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description. It should be noted that the embodiments in the present disclosure and the features in the embodiments can be combined with each other unless there is a conflict.
[0015] In addition, in the technical solutions involved in this disclosure, the acquisition, storage, use, processing, transportation, provision and disclosure of user personal information involved (for example, the initial image of this disclosure may be an image that includes the user's personal information) are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0016] Figure 1An exemplary system architecture 100 is shown to which embodiments of the method, apparatus, electronic device, and computer-readable storage medium for processing an image of the present disclosure may be applied.
[0017] like Figure 1 As shown, system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 is a medium for providing communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired or wireless communication links or fiber optic cables.
[0018] Users can use terminal devices 101, 102, and 103 to interact with server 105 via network 104 to receive or send messages, etc. Various applications for enabling information communication between the terminal devices 101, 102, and 103 and server 105 can be installed, such as image processing applications, model training sample construction applications, instant messaging applications, etc.
[0019] Terminal devices 101, 102, 103 and server 105 can be either hardware or software. When terminal devices 101, 102, 103 are hardware, they can be various electronic devices with display screens, including but not limited to smartphones, tablet computers, laptop computers, and desktop computers. When terminal devices 101, 102, 103 are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software or software modules, or as a single software or software module, and are not specifically limited here. When server 105 is hardware, it can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software or software modules, or as a single software or software module, and are not specifically limited here.
[0020] The server 105 can provide various services through various built-in applications. Taking an image processing application that can provide users with image processing, editing, annotation and other services as an example, the server 105 can achieve the following effects when running the image processing application: first, if the server 105 receives an image processing request sent by the terminal devices 101, 102, and 103 through the network 104, it can respond to it and present an image processing interface (for example, the image processing interface is presented to the user through a display component such as a screen in the terminal devices 101, 102, and 103), and the image processing interface includes a candidate tool group, and the candidate tool group includes at least two image processing tools and an execution order between the at least two image processing tools; then, the server 105 determines a target tool group based on the collected tool group selection actions for the candidate tool group, and uses the target tool group to process the initial image to obtain an intermediate image; next, the server 105 presents the intermediate image in the image processing interface; finally, based on the collected image processing actions for the intermediate image, the intermediate image is processed to obtain a result image.
[0021] It should be noted that, in addition to being generated by server 105 and provided via network 104 to terminal devices 101, 102, and 103, the image processing interface can also be generated and provided by terminal devices 101, 102, and 103. For example, if terminal devices 101, 102, and 103 also have sufficient computing power and resources, terminal devices 101, 102, and 103 can also use image processing applications installed on them to complete the various calculations previously assigned to server 105, thereby outputting the same results as server 105. In particular, in the presence of multiple terminal devices with varying computing capabilities, if the image processing application determines that the terminal device it is in possesses greater computing power and more available computing resources, it can allow the terminal device to perform the aforementioned calculations, thereby appropriately alleviating the computing pressure on server 105. Accordingly, the image processing apparatus can also be located within terminal devices 101, 102, and 103. In this case, exemplary system architecture 100 may also exclude server 105 and network 104.
[0022] To facilitate user use (e.g., to enable user use even when terminal devices 101, 102, 103 are inconvenient to access network 104), the image processing methods provided in the subsequent embodiments of this disclosure are generally performed by terminal devices 101, 102, 103, which are more convenient for users to use. Accordingly, the image processing apparatus is generally also provided in terminal devices 101, 102, 103.
[0023] It should be understood that Figure 1The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.
[0024] Please refer to Figure 2 , Figure 2 A flowchart of a process for processing an image provided by an embodiment of the present disclosure includes process 200.
[0025] The process 200 specifically includes the following steps: Step 201: In response to receiving an image processing request, presenting an image processing interface; In the embodiment of the present disclosure, in this step, the execution subject of the method for processing an image (eg Figure 1 The terminal devices 101, 102, and 103 shown in the figure can be used by users. Accordingly, the user can send an image processing request to the execution subject according to their needs (for example, the user can send an image processing request to the execution subject by triggering the image processing request control based on a pre-configured image processing request control through a preset operation).
[0026] If a user issues an image processing request, the execution entity may respond to the image processing request upon receiving the image processing request and present an image processing interface to the user. For example, the execution entity may provide such an image processing interface to the user through a display component such as a screen that is associated with and configured by the execution entity.
[0027] The image processing interface may include (at least one) candidate tool group that can be selected and used by the user. The candidate tool group includes at least two image processing tools and an execution order between the at least two image processing tools.
[0028] Specifically, a candidate tool set can be encapsulated based on at least two different image processing tools and the execution order of these tools. Accordingly, if the candidate tool set is executed by an execution subject, the execution subject can sequentially execute each image processing tool according to the execution order, utilizing the corresponding functions included in each image processing tool. In other words, such a candidate tool set can actually correspond to a specific image or data processing flow, and the execution subject can process the image accordingly.
[0029] In some embodiments, the functions of the image processing tools may include, for example, image denoising, image cropping, image file format conversion, image color space conversion, image alignment, etc. For example, for a candidate tool set, if the image processing tools it includes are image denoising and image cropping, and the execution order is to first execute the image cropping function and then the image denoising function, then if the candidate tool set is executed, the execution subject may first "crop" the image and then execute "image denoising" on the cropped result.
[0030] To facilitate understanding, an example can also be given in combination with a specific application scenario. Figure 3a-3b A schematic diagram of the effect of an image processing interface in an application scenario provided by an embodiment of the present disclosure.
[0031] First, refer to Figure 3a , Figure 3a The image processing interface 300a is shown in FIG. The image processing interface 300a can be provided and presented to the user (not shown in the figure) by the execution subject (eg, terminal device 101, 102, 103) in response to receiving an image processing request using its locally configured display component such as a screen.
[0032] In the image processing interface 300a, a plurality of tool group selection controls corresponding to respective candidate tool groups may be presented, for example, tool group selection controls 311, 312, through 31N (where N is a positive integer). Accordingly, the user may operate or use the pointer 301 to select or trigger the tool group selection controls 311, 312, through 31N, thereby instructing the executing entity to select the corresponding "candidate tool group" as the "target tool group."
[0033] Step 202: determining a target tool group based on the collected tool group selection actions for the candidate tool groups, and processing the initial image using the target tool group to obtain an intermediate image; In an embodiment of the present disclosure, after the image processing interface is presented in step 201, the user can select a desired target tool group from the candidate tool groups. For example, the user can select the desired target tool group by clicking or double-clicking the "tool group selection action" of (a) candidate tool group using indicator 301.
[0034] Accordingly, if the user performs such a "tool group selection action," the execution entity can select the candidate work group corresponding to the "tool group selection action" as the target tool group. Based on the "execution order" in the target tool group, the execution entity sequentially executes the image processing tools included in the target tool group to process the initial image and obtain an intermediate image.
[0035] The initial image can be the image that the user indicates is desired to be processed. For ease of understanding, we can discuss this in conjunction with a specific field. For example, in the medical field, the initial image can be a captured medical image of a body part to be annotated.
[0036] After providing and indicating the medical image to be annotated as the initial image, the user can first use the target tool set to perform a series of preliminary processing on it. For example, if the target tool set is the tool set described above that "first performs the image cropping function, then performs the image denoising function," the execution subject can use the image processing tools included in the target tool set to process the "medical image to be annotated" (i.e., crop it to the corresponding target size and then denoise the cropped result) to obtain an "intermediate image."
[0037] For ease of understanding, please refer to Figure 3b For example, the image processing interface 300b may be a "post-jump interface" provided and presented to the user by the execution entity after the user triggers the tool group selection control 311 on the image processing interface 300a.
[0038] In the image processing interface 300b, the execution entity may present an image selection control 302 for the user to select an initial image. Accordingly, the user may trigger the image selection control 302 using a pointer 301 to provide or indicate the "initial image" to the execution entity (for example, after triggering the image selection control 302, a window may pop up for the user to obtain the initial image, and the user may provide the initial image by dragging the image file of the initial image into the window).
[0039] In order to facilitate the user to use the image processing interface 300b, the image processing interface 300b may further include indication information 303 for indicating the tool group currently selected by the user, and indication information 303 for further prompting the function of the selection control 302.
[0040] In some embodiments, the image processing interface 300b may also include a processing start indication control 305. Accordingly, the user can trigger the processing start indication control 305 by using the pointer 301 to instruct the execution entity to use the "tool group A" (that is, the "(candidate) tool group" corresponding to the tool group selection control 311) to perform corresponding processing on the initial image (not shown in the figure) added by the user using the image selection control 302.
[0041] Step 203: presenting the intermediate image in the image processing interface; In an embodiment of the present disclosure, after completing the "pre-processing" of the initial image using the target tool group based on the above-mentioned step 202 and obtaining the intermediate image, the execution entity can present the intermediate image in the image processing interface so that the user can perform the next step of user personalized processing on the intermediate image through the image processing interface (for example, adding specific annotation information, etc.).
[0042] For example, the user can perform corresponding processing on the intermediate image by performing image processing actions such as circling a marked area and adding marked information in the image processing interface.
[0043] Step 204: Based on the collected image processing action on the intermediate image, process the intermediate image to obtain a result image.
[0044] In an embodiment of the present disclosure, in this step, the executing entity can add corresponding results (for example, a region annotation box, annotation information for the region annotation box) to the intermediate image based on the collected (user) image processing action on the intermediate image, so as to reflect the processing results of the image processing and annotation actions performed by the user and obtain a result image (that is, an image obtained by combining the original content of the intermediate image with the content processed and annotated by the user).
[0045] For example, in the case of annotation, the execution entity may choose to provide manual annotation tools such as point selection, box selection, brush, polygon, word text, SAM (Segment Anything Model), etc., so that users can use these manual annotation tools to annotate the intermediate image.
[0046] The image processing method provided by the embodiment of the present disclosure enables users to conveniently and efficiently complete at least part of the image processing operations through a tool set, thereby reducing the user's operating costs during image processing and improving image processing efficiency.
[0047] In some embodiments, in order to enhance the use value of the tool group and enable the tool group to meet the processing needs of different users as much as possible, the different processing needs of the same user may also be allowed to be configured according to the user's needs.
[0048] For example, when a user needs to configure a new toolset or adjust an existing toolset, he or she can issue a toolset editing request to the execution entity. For example, the execution entity can also choose to provide a "toolset editing control" in the image processing interface so that the user can trigger and use the "toolset editing control" to conveniently issue a toolset editing request.
[0049] For this, please refer to Figure 3a The image processing interface 300 a shown may further include a tool group editing control 320 , so that the user may send a tool group editing request to the execution subject by triggering the tool group editing control 320 .
[0050] In some embodiments, multiple "tool group edit controls" can be provided based on different editing purposes. For example, if it is desired to edit or adjust an existing candidate tool group (or the tools therein), the tool group edit control can be configured in association with the tool group selection control so that the user can enter the editing of the corresponding candidate tool group through the associated "tool group edit control." For another example, if it is desired to add a new candidate tool group, a tool group edit control such as tool group edit control 320 can be provided so that the user can use tool group edit control 320 to add the new candidate tool group.
[0051] Correspondingly, in the case of adding a new candidate tool group, the execution entity may also collect the user's information about the candidate tool group, such as name information, function description information, etc., by presenting an information collection window.
[0052] Next, if a tool set editing request is received, the execution entity may respond to the request by presenting a tool set editing interface, for example, by redirecting the image processing interface presented in the above process 200 to the tool set editing interface.
[0053] The tool group editing interface includes a candidate tool set and an execution order editing area, thereby allowing users to select candidate tools for forming a (candidate) tool group by, for example, clicking operations in the candidate tool set, and use the execution order editing area to edit the "execution order" between each candidate tool.
[0054] For example, the user can provide the execution order between the candidate tools in the candidate tool group by adding descriptive information of the execution order between the candidate tools in the execution order editing area.
[0055] In this case, for ease of understanding, the actions a user performs on candidate tools in the candidate tool set and in the execution order editing area can be collectively referred to as "tool group generation actions." Accordingly, based on these collected "tool group generation actions" for the candidate tool set and the execution order editing area, the execution entity can determine the candidate tools to be packaged and the execution order of each candidate tool. It can then package these candidate tools based on the "execution order" to generate a candidate tool group.
[0056] In some embodiments, in order to facilitate users to edit and adjust the candidate tool group, the execution entity may also choose to present visual elements corresponding to the candidate tools selected by the user in the execution order editing area, so that the user can complete the editing of the execution order in the execution order editing area by, for example, adding directional connecting lines between each visual element and "dragging" each visual element.
[0057] This not only allows users to more intuitively understand the "execution order" between the current candidate tools, but also reduces the user's operating costs (for example, the "execution order" configuration can be completed directly by editing and adjusting the "connection lines" without having to provide a large amount of descriptive information).
[0058] For easier understanding, please refer to Figure 4 . Figure 4 A flowchart of a process for generating a candidate tool group provided by an embodiment of the present disclosure includes process 400 .
[0059] Process 400 includes the following steps: Step 401: determining a first target candidate tool based on the collected first tool selection action for the candidate tool set; Specifically, for easier understanding, an example may also be given in combination with a specific application scenario. Figure 5 A schematic diagram of the effect of a tool group editing interface in an application scenario provided by an embodiment of the present disclosure.
[0060] refer to Figure 5 , Figure 5 The tool group editing interface 500 is shown in FIG. The image processing interface 500 may be provided and presented to the user (not shown) by the execution subject (eg, terminal device 101, 102, 103) using its locally configured display component such as a screen in response to receiving a tool group editing request.
[0061] In the tool group editing interface 500 , the execution entity may continue to provide the user with a pointer 301 for the user to use to interact with the tool group editing interface 500 .
[0062] The tool group editing interface 500 may include two “areas”, for example, an area 501 for providing and selecting candidate tools, and an area 502 for editing the execution order (ie, the execution order editing area to be discussed below).
[0063] In area 501 , tool selection controls 511 , 512 , 513 to 51N may be presented for the user to select a desired “candidate tool.” Accordingly, the user may use pointer 301 to click and trigger tool selection controls 511 , 512 , 513 to 51N to select a desired candidate tool.
[0064] Accordingly, in this step, the execution entity may determine the first target candidate tool based on the collected first tool selection action for the candidate tool set (eg, the triggering action for the tool selection control in area 501 ).
[0065] Step 402: presenting a first visual element corresponding to a first target candidate tool in the execution order editing area; Specifically, based on the above step 402 , the execution entity may present a first visual element corresponding to the first target candidate tool in the execution order editing area according to the candidate tool selected by the user (ie, the first target candidate tool).
[0066] For example, based on the reference Figure 5 If the user triggers tool selection control 511, the execution entity may correspondingly present visual element 521 in area 502, corresponding to "Tool a." In some embodiments, the actual presentation of visual element 521 may include the function corresponding to Tool a, such as "Function a," to facilitate a more intuitive understanding of the tool's functions and to edit the execution order in the form of an action flow corresponding to the function.
[0067] Step 403: determining a second target candidate tool based on the collected second tool selection action for the candidate tool set; Specifically, similarly, the user can continuously select other tools desired to be used through a second tool selection action (eg, triggering other tool selection controls) following the first tool selection action.
[0068] Step 404: presenting a second visual element corresponding to the second target candidate tool in the execution order editing area; Specifically, similarly, the execution subject may continue to generate the corresponding second visual element based on other (candidate) tools (eg, the second target candidate tool) selected by the user.
[0069] For example, in Figure 5 In the example, if the user also selects "Tool B" by triggering the tool selection control 512, the execution entity can present a visual element 522 corresponding to the "Tool B" in the area 522 (for example, its actual presentation form can be function b corresponding to tool b).
[0070] It should be understood that users can select multiple candidate tools based on their needs and configure the execution order accordingly. Here, only the case of two candidate tools as results (for example, the first target candidate tool and the second target candidate tool) is used as an example, and it is not intended to limit the "quantity" of candidate tools that can be selected.
[0071] Step 405: determining an execution order between the first target candidate tool and the second target candidate tool based on the collected sequential editing actions on the first visual element and the second visual element; Specifically, you can continue to refer to Figure 5 As discussed above, the execution entity can edit the execution order between various tools by sequentially clicking on various visual elements (e.g., visual element 522, visual element 521) in area 502, adding connecting lines with direction indicators, etc.
[0072] In some embodiments, in order to facilitate the user to understand the edited "execution order", the execution entity may also add corresponding sequence prompt information between each visual element to provide feedback on the added "execution order". Figure 5 The sequence prompt information 530 may also be included.
[0073] Step 406: Generate a candidate tool group based on the first target candidate tool, the second target candidate tool, and the execution order.
[0074] Specifically, as discussed above, the execution entity can generate a candidate tool group that can sequentially execute the first target candidate tool and the second target candidate tool in accordance with the execution order edited by the user for the first target candidate tool and the second target candidate tool based on the first target candidate tool and the second target candidate tool selected by the user.
[0075] In some embodiments, the execution entity may also add an editing completion indicator control in the tool group editing interface, for example, Figure 5 The editing completion indication control 500 is shown in the tool group editing interface 500.
[0076] Thus, the user can submit and complete the current edit by triggering the edit completion indicator control 500. Accordingly, after submitting and completing the current edit, the execution entity can generate a candidate tool group based on the first target candidate tool, the second target candidate tool, and the execution order involved in the current edit.
[0077] In some embodiments, in order to facilitate users to search and find the candidate tools they want to use, the execution entity may also choose to add a tool search control in the tool group editing interface, for example, Figure 5 The tool search control 545 is shown in the tool group editing interface 500 , whereby the user can search for the (candidate) tool that he or she desires to use by adding description information about the (candidate) tool in the tool search control 545 .
[0078] In some embodiments, during the process of presenting visual elements (eg, the first visual element, the second visual element), the execution entity may also choose to present a parameter editing sub-interface for collecting execution parameters of the target tool in association with the visual elements.
[0079] For example, a first parameter editing sub-interface for collecting first execution parameters of a first target candidate tool, and a second parameter editing sub-interface for collecting second execution parameters of a second target candidate tool.
[0080] For example, you can continue to refer to Figure 5 In the tool group editing interface 500 shown in the figure, the execution body can also present a parameter editing sub-interface 551 in association with the visual element 521 for collecting execution parameters for "tool a", and present a parameter editing sub-interface 552 in association with the visual element 522 for collecting execution parameters for "tool b".
[0081] Therefore, through the parameter editing sub-interface, users can conveniently and efficiently provide tools with corresponding execution parameters to meet the user's different personalized needs.
[0082] In some embodiments, in order to further improve the user's editing efficiency, in the parameter editing sub-interface, the execution entity can also choose to fill in those execution parameters that can be determined (for example, known execution parameters determined based on default execution parameter information) to reduce the user's filling cost.
[0083] In some embodiments, to facilitate users in continuously configuring and selecting candidate tools, tool function associations between candidate tools may be maintained. For example, tool function associations between candidate tools may be determined based on dependencies between the candidate tools and historical user selection results for the candidate tools.
[0084] Accordingly, after the user selects a candidate tool as the target tool (for example, selects the first target candidate tool), the execution entity can determine, in the candidate tool set, associated candidate tools that have a functional association relationship with the first target candidate tool based on the selected target tool.
[0085] For ease of understanding, taking the "first target candidate tool" as an example, after the user selects the target first candidate tool, the execution entity can determine the associated candidate tools that have a functional association relationship with the first target candidate tool in the candidate tool set based on the pre-configured tool function association relationship.
[0086] Then, the execution entity may generate an associated candidate tool identifier that indicates that the corresponding candidate tool is functionally associated with the first target candidate tool. For example, the execution entity may generate such an associated candidate tool identifier based on the name and function of the first target candidate tool. For example, the actual form of the associated candidate tool identifier may be "associated with the already selected first target candidate tool", "can be used after the already selected first target candidate tool", etc., depending on different requirements.
[0087] Next, the execution entity may present the identifier of the associated candidate tool in association with the associated candidate tool. Thus, the identifier of the associated candidate tool can provide a reference for the user based on the user's current and previous tool selection results, helping the user to more conveniently and efficiently find tools that can be used or are more likely to be used.
[0088] In some embodiments, users can also adjust the candidate tool set based on their needs. For example, similar to the discussion above, the execution entity can provide a parameter adjustment control associated with the tool selection control, allowing the user to adjust the parameters of the corresponding tool in the candidate tool set by triggering the parameter adjustment control.
[0089] In some embodiments, the execution entity can also choose to allow users to adjust the candidate tool set by "adding" or "creating" tools, allowing users to dynamically add new candidate tools based on usage needs. This allows the image processing process to have stronger scene expansion and adaptability. Accordingly, if a user has such a need, the user can send a candidate tool addition request to the execution entity.
[0090] In some embodiments, the execution entity may also choose to provide a control in the tool group editing interface so that the user can easily send a request to add a candidate tool through the control. Figure 5 In the tool group editing interface 500 shown, the execution entity may also provide a new tool control 550 .
[0091] After the new tool control 550 is triggered by the user, the execution entity can jump from the group editing interface 500 to the tool creation interface to provide the user with a tool creation service using the tool creation interface.
[0092] To facilitate understanding, we can also give an example with a specific application scenario. Figure 6 The present invention provides an embodiment of a tool creation interface in an application scenario, including a tool creation interface 600. The tool creation interface 600 can be, for example, presented to the user by the execution body after the tool creation control 550 is triggered by the user.
[0093] Based on the tool creation interface 600 , the user can fill in and configure the name of the newly created tool through the tool name editing control 610 .
[0094] Accordingly, in the tool creation interface 600, based on the different sources of the tool, the execution entity can choose to provide multiple address provision methods, so that the user can make different selections based on specific circumstances. For example, in the tool creation interface 600, the user can use the presented source controls 621, 622, and 623 to select the "source" of the new (candidate) tool (for ease of understanding, it can be referred to as the update candidate tool)—that is, whether it is uploaded locally, downloaded via a Hypertext Transfer Protocol (HTTP), or located in an Organizational Breakdown Structure (OBS). Accordingly, after making a selection, the user can correspondingly provide the first target address under the selected "source" so that the execution entity can obtain the update candidate tool (that is, the "configuration file" of the update candidate tool) based on the first target address corresponding to the candidate tool join request.
[0095] Then, by using and executing the "configuration file", the execution subject can add the update candidate tool to the candidate tool set.
[0096] In some embodiments, as discussed above, the user can also provide "default execution parameter information" and description information for the candidate update tool when adding the candidate update tool. Therefore, the execution entity can also add a tool parameter edit control 631 and a description information edit control 632 to the tool creation interface 600, so that the user can use the tool parameter edit control 631 and the description information edit control 632 to adjust the "tool parameters" and "description information".
[0097] In some embodiments, in order to enrich the usage scenarios of the image processing process, or in other words, to enable it to be applied to more scenarios, a candidate initial image set may be maintained for the “initial image”.
[0098] Therefore, in this way, the execution entity can provide storage and maintenance services for image data based on image processing, so that users can use the execution entity to directly complete a series of services such as image storage and processing, thereby improving image processing efficiency.
[0099] In such a case, for the initial image, the user may also choose to send an initial image selection request to the execution entity to request the execution entity to present an initial image set for selecting the initial image.
[0100] Accordingly, if the execution subject receives the initial image selection request, it may respond to the request by selecting and presenting an image selection interface, which includes a set of candidate initial images.
[0101] Then, the execution subject may select an action based on the collected image selection for the candidate initial image to determine the initial image.
[0102] In some embodiments, to enrich the use cases of image processing, the execution entity may also allow the user to introduce an initial image by providing the source or address of the initial image. For example, similar to the method described above for creating a new tool, when the execution entity selects an image based on the collected candidate initial images and determines the initial image, the user can first use the address provision control to write an action for obtaining the secondary target address of the initial image as the image addition action.
[0103] Accordingly, if the execution subject collects such an image adding action, it can respond to it and obtain an updated candidate initial image (ie, the image stored at the second target address) based on the second target address indicated in the image adding action.
[0104] In some embodiments, if the format of the image at the second target address cannot be directly rendered, the execution entity can also use a pre-maintained format conversion tool to convert the format of the image at the second target address into a format that can be directly rendered by the execution entity, thereby obtaining an updated candidate initial image. In this way, the user can directly request or instruct to update the candidate initial image by directly specifying the location, without having to pre-configure the format of the image at the second target address.
[0105] Then, the execution entity may add the obtained updated candidate initial image to the candidate initial image set for user selection.
[0106] Accordingly, if the execution subject detects an image selection action for updating the candidate initial image, the execution subject may correspondingly determine the initial image based on the instruction of the image selection action.
[0107] In some embodiments, the execution entity can optionally maintain associations between images. Through these associations, the execution entity can provide users with more multi-dimensional information query capabilities. For example, after completing processing and obtaining a result image, the execution entity can associate the initial image used this time with the result image.
[0108] Then, the execution entity can provide the (historical) result image obtained by processing the initial image in different historical processes based on such "association".
[0109] For another example, the execution subject may also establish an association between the initial image and the object based on whether they belong to the same object (eg, the same person, the same part of the same person).
[0110] Accordingly, if the user expects to be provided with the above-mentioned associated information for the candidate initial image, the user can request the execution entity to present the historical result image obtained based on the target candidate initial image, and / or the reference candidate initial image associated with the same object as the target candidate initial image through an associated query action such as selecting the initial image and requesting the provision of associated query results.
[0111] Accordingly, if the execution entity performs a query based on the collected association query for a candidate initial image, it can first determine the target candidate initial image. Then, based on the maintained associations, after determining the historical result images derived from the target candidate initial image and / or reference candidate initial images associated with the target candidate initial image and the same object, it presents the historical result images and / or reference candidate initial images. This allows the execution entity to provide users with reference information across different dimensions, facilitating better image processing.
[0112] Based on any of the above embodiments, as discussed above, the execution entity may also generate historical processing flow information for the processed image based on the initial image, target tool set, intermediate image and result image after completing the processing and obtaining the result image.
[0113] Thus, this historical processing flow information is used to record the process of obtaining the result image from the initial image. Accordingly, this historical processing flow information not only allows users to easily trace the complete processing process, but also allows users to determine the input and output samples used to train the processing model based on the processing process, so that the processing model can use the corresponding input and output samples to be trained according to, for example, the target toolset or the user's annotation logic.
[0114] Further references Figure 7As an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a device for processing an image. Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0115] like Figure 7 As shown, the image processing apparatus 700 of this embodiment may include: an image processing interface presenting unit 701, an initial image processing unit 702, an intermediate image presenting unit 703, and an intermediate image processing unit 704. The image processing interface presenting unit 701 is configured to present an image processing interface in response to receiving an image processing request, wherein the image processing interface includes a candidate tool group, each of which includes at least two image processing tools and an execution order between the at least two image processing tools; the initial image processing unit 702 is configured to determine a target tool group based on the tool group selection actions collected for the candidate tool group, and use the target tool group to process the initial image to obtain an intermediate image; the intermediate image presenting unit 703 is configured to present the intermediate image in the image processing interface; and the intermediate image processing unit 704 is configured to process the intermediate image based on the image processing actions collected for the intermediate image to obtain a result image.
[0116] In this embodiment, in the image processing apparatus 700, the specific processing of the image processing interface presenting unit 701, the initial image processing unit 702, the intermediate image presenting unit 703 and the intermediate image processing unit 704 and the technical effects thereof can be referred to respectively. Figure 2 The relevant descriptions of steps 201-204 in the corresponding embodiment are not repeated here.
[0117] In some optional implementations of this embodiment, the device 700 also includes: a tool group editing interface presentation unit, configured to present a tool group editing interface in response to receiving a tool group editing request, wherein the tool group editing interface includes a candidate tool set and an execution order editing area; a candidate tool group generation unit, configured to generate a candidate tool group based on the collected tool group generation actions for the candidate tool set and the execution order editing area.
[0118] In some optional implementations of this embodiment, the candidate tool group generation unit includes: a first target candidate tool determination subunit, configured to determine the first target candidate tool based on the collected first tool selection action for the candidate tool set; a first visual element presentation subunit, configured to present a first visual element corresponding to the first target candidate tool in the execution order editing area; a second target candidate tool determination subunit, configured to determine the second target candidate tool based on the collected second tool selection action for the candidate tool set; a second visual element presentation subunit, configured to present a second visual element corresponding to the second target candidate tool in the execution order editing area; an execution order determination subunit, configured to determine the execution order between the first target candidate tool and the second target candidate tool based on the collected sequential editing actions for the first visual element and the second visual element; and a candidate tool group generation subunit, configured to generate a candidate tool group based on the first target candidate tool, the second target candidate tool and the execution order.
[0119] In some optional implementations of this embodiment, the first visual element presentation subunit is further configured to present a first visual element and a first parameter editing sub-interface corresponding to the first target candidate tool, wherein the first parameter editing sub-interface is used to collect the first execution parameter of the first target candidate tool; the second visual element presentation subunit is further configured to present a second visual element and a second parameter editing sub-interface corresponding to the second target candidate tool in the execution order editing area, wherein the second parameter editing sub-interface is used to collect the second execution parameter of the second target candidate tool.
[0120] In some optional implementations of this embodiment, the device 700 also includes: an associated candidate tool determination unit, configured to determine, in the candidate tool set, an associated candidate tool that has a functional association relationship with the first target candidate tool based on a pre-configured tool function association relationship; an associated tool identifier generation unit, configured to generate an associated candidate tool identifier for indicating that the corresponding candidate tool is functionally associated with the first target candidate tool; and an associated tool identifier presentation unit, configured to present the associated candidate tool identifier in association with the associated candidate tool.
[0121] In some optional implementations of this embodiment, the device 700 also includes: an updated candidate tool acquisition unit, configured to, in response to receiving a candidate tool addition request, obtain an updated candidate tool based on the first target address corresponding to the candidate tool addition request; and an updated candidate tool addition unit, configured to add the updated candidate tool to the candidate tool set.
[0122] In some optional implementations of this embodiment, the device 700 also includes: an image selection interface presentation unit, configured to present an image selection interface in response to receiving an initial image selection request, wherein the image selection interface includes a set of candidate initial images; an initial image determination unit, configured to determine the initial image based on the collected image selection actions for the candidate initial images.
[0123] In some optional implementations of this embodiment, the initial image determination unit includes: an update candidate initial image acquisition subunit, configured to acquire an updated candidate initial image based on the captured image adding action and the second target address indicated in the image adding action; an update candidate initial image adding subunit, configured to add the updated candidate initial image to the candidate initial image set; and an initial image determination subunit, configured to determine the initial image based on the captured image selection action for the updated candidate initial image.
[0124] In some optional implementations of this embodiment, the device 700 also includes: a target candidate initial image determination unit, configured to determine the target candidate initial image based on the collected associated query action for the candidate initial image; an associated result image and initial image presentation unit, configured to present a historical result image obtained based on the target candidate initial image, and / or a reference candidate initial image associated with the target candidate initial image and the same object.
[0125] In some optional implementations of this embodiment, the apparatus 700 further includes: a historical processing flow information generating unit configured to generate historical processing flow information for a processed image based on an initial image, a target tool set, an intermediate image, and a result image.
[0126] This embodiment exists as an apparatus embodiment corresponding to the above-mentioned method embodiment. The apparatus for processing images provided by this embodiment enables users to conveniently and efficiently complete at least part of the processing operations on the image through a tool set, thereby reducing the user's operating costs during image processing and improving image processing efficiency.
[0127] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0128] Figure 8A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are provided as examples only and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0129] like Figure 8 As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. Computing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to bus 804.
[0130] Various components in device 800 are connected to I / O interface 805, including an input unit 806, such as a keyboard, mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a magnetic disk, optical disk, etc.; and a communication unit 809, such as a network card, modem, wireless communication transceiver, etc. The communication unit 809 allows device 800 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0131] The computing unit 801 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the image processing method. For example, in some embodiments, the image processing method may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed onto the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the image processing method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the image processing method by any other suitable means (e.g., via firmware).
[0132] Various embodiments of the systems and techniques described above can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0133] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0134] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on 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), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0135] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0136] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0137] A computer system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a host product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosts and virtual private server (VPS) services. Servers can also be classified as distributed system servers or servers integrated with blockchain.
[0138] According to the technical solution of the embodiment of the present disclosure, in response to receiving an image processing request, an image processing interface is presented, wherein the image processing interface includes a candidate tool group, which includes at least two image processing tools and the execution order between the at least two image processing tools; a target tool group is determined based on the tool group selection actions collected for the candidate tool group, and the target tool group is used to process the initial image to obtain an intermediate image; the intermediate image is presented in the image processing interface; and the intermediate image is processed based on the image processing actions collected for the intermediate image to obtain a result image. As a result, the user can conveniently and efficiently complete at least part of the image processing operation through the tool group, reducing the user's operating costs during image processing and improving image processing efficiency.
[0139] It should be understood that the various forms of processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions provided by this disclosure can be achieved. This is not limited herein.
[0140] The above specific embodiments do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.
Claims
1. A method for processing an image, comprising: In response to receiving the image processing request, presenting an image processing interface, wherein the image processing interface includes a candidate tool group, the candidate tool group includes at least two image processing tools and an execution order between the at least two image processing tools; determining a target tool group based on the collected tool group selection actions for the candidate tool group, and processing an initial image using the target tool group to obtain an intermediate image; Presenting the intermediate image in the image processing interface; Based on the collected image processing actions for the intermediate image, the intermediate image is processed to obtain a result image.
2. The method according to claim 1, further comprising: In response to receiving the tool group editing request, presenting a tool group editing interface, wherein the tool group editing interface includes a candidate tool set and an execution order editing area; The candidate tool group is generated based on the collected tool group generation actions for the candidate tool set and the execution order editing area.
3. The method according to claim 2, wherein: The generating of the candidate tool set based on the collected tool set generating action for the candidate tool set and the execution order editing area includes: determining a first target candidate tool based on the collected first tool selection action for the candidate tool set; presenting a first visual element corresponding to the first target candidate tool in the execution order editing area; determining a second target candidate tool based on the collected second tool selection action for the candidate tool set; presenting a second visual element corresponding to the second target candidate tool in the execution order editing area; determining an execution order between the first target candidate tool and the second target candidate tool based on the collected sequential editing actions on the first visual element and the second visual element; The candidate tool group is generated based on the first target candidate tool, the second target candidate tool, and the execution order.
4. The method according to claim 3, wherein: Presenting a first visual element corresponding to the first target candidate tool in the execution order editing area includes: presenting a first visual element and a first parameter editing sub-interface corresponding to the first target candidate tool, wherein the first parameter editing sub-interface is used to collect first execution parameters of the first target candidate tool; and Presenting a second visual element corresponding to the second target candidate tool in the execution order editing area includes: A second visual element and a second parameter editing sub-interface corresponding to the second target candidate tool are presented in the execution order editing area, wherein the second parameter editing sub-interface is used to collect second execution parameters of the second target candidate tool.
5. The method according to claim 3, further comprising: Based on a pre-configured tool function association relationship, determining an associated candidate tool in the candidate tool set that has a functional association relationship with the first target candidate tool; generating an associated candidate tool identifier for indicating that the corresponding candidate tool is functionally associated with the first target candidate tool; The association candidate tool identification is presented in association with the association candidate tool.
6. The method according to claim 2, further comprising: In response to receiving the candidate tool adding request, obtaining an updated candidate tool based on the first target address corresponding to the candidate tool adding request; The update candidate tool is added to the candidate tool set.
7. The method according to claim 1, further comprising: In response to receiving the initial image selection request, presenting an image selection interface, wherein the image selection interface includes a set of candidate initial images; The initial image is determined based on the collected image selection actions for the candidate initial images.
8. The method according to claim 7, wherein: The determining of the initial image based on the collected image selection action for the candidate initial image includes: Based on the collected image adding action, and based on the second target address indicated in the image adding action, obtaining an updated candidate initial image; adding the updated candidate initial image to the candidate initial image set; The initial image is determined based on the collected image selection action for the updated candidate initial image.
9. The method according to claim 7, further comprising: Determining a target candidate initial image based on the collected associated query actions for the candidate initial images; Presenting a historical result image obtained based on the target candidate initial image and / or a reference candidate initial image associated with the target candidate initial image and the same object.
10. The method according to any one of claims 1 to 9, further comprising: Based on the initial image, the target tool set, the intermediate image, and the result image, historical processing flow information for the processed image is generated.
11. A device for processing an image, comprising: an image processing interface presenting unit configured to present an image processing interface in response to receiving an image processing request, wherein the image processing interface includes a candidate tool group including at least two image processing tools and an execution order between the at least two image processing tools; an initial image processing unit configured to determine a target tool group based on the collected tool group selection action for the candidate tool group, and process the initial image using the target tool group to obtain an intermediate image; an intermediate image presenting unit, configured to present the intermediate image in the image processing interface; The intermediate image processing unit is configured to process the intermediate image based on the collected image processing action on the intermediate image to obtain a result image.
12. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method for processing an image according to any one of claims 1 to 10.
13. A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method for processing an image according to any one of claims 1 to 10.
14. A computer program product comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements the method for processing an image according to any one of claims 1 to 10.