Image processing method and apparatus
By displaying and compositing projected images from multiple terminals on the image interaction page, the problem of image editing being limited to a single terminal is solved, enabling synchronous editing across multiple terminals and improving the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2021-10-21
- Publication Date
- 2026-06-26
AI Technical Summary
Current image editing technology is limited to a single terminal and lacks interoperability between multiple terminals, resulting in a poor user experience.
By displaying projected images from multiple terminals on an interactive image page and performing image compositing, simultaneous editing across multiple terminals is achieved. This leverages the large screen display on TVs and the algorithm processing capabilities of mobile devices to enable multi-terminal collaborative image editing.
It improves terminal connectivity during image editing, enriches image editing application scenarios, and enhances user experience.
Smart Images

Figure CN116016982B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to an image processing method and apparatus. Background Technology
[0002] With the development of computer technology and image processing technology, image editing functions in application software have become increasingly rich and popular among users. Examples include beautification features and scene effects in image editing applications.
[0003] In related technologies, users can perform corresponding image editing operations on mobile clients. For example, by clicking on the controls corresponding to the beautification function, scene effects function, dress-up function, and compositing function, users can complete the editing and compositing process of the image displayed on the mobile client and obtain the beautified image.
[0004] However, the aforementioned technologies are limited to image editing on a single terminal, resulting in poor image editing interoperability. Summary of the Invention
[0005] This application provides an image processing method and apparatus that can support multiple terminals to perform image editing simultaneously, solving the problem that image editing is limited to a single terminal, improving the linkage between terminals during image editing, enriching image editing application scenarios, and enhancing user experience.
[0006] According to one aspect of the embodiments of this application, an image processing method is provided, the method comprising:
[0007] Displays an interactive image page;
[0008] The image interaction page displays projected images sent by at least two terminals, which are images projected and displayed by the at least two terminals during the image interaction editing process;
[0009] The composite image corresponding to the projected image is displayed. The composite image is an image obtained by image compositing of the projected image.
[0010] According to one aspect of the embodiments of this application, an image processing method is provided, the method comprising:
[0011] Display the image projection page;
[0012] Receive image interactive editing operations triggered on the image projection page;
[0013] During the process of receiving the image interactive editing operation, a projection image is sent to the second terminal so that the image interactive page corresponding to the second terminal displays the projection image and the composite image corresponding to the first projection image.
[0014] The composite image is an image obtained by combining the projection images sent by at least two terminals displayed on the image interaction page, and the projection images sent by at least two terminals include the projection images.
[0015] According to one aspect of the embodiments of this application, an image processing apparatus is provided, the apparatus comprising:
[0016] Interactive page display module, used to display interactive image pages;
[0017] A screen projection image display module is used to display screen projection images sent by at least two terminals on the image interaction page, wherein the screen projection images are images displayed by the at least two terminals during the image interaction editing process;
[0018] A composite image display module is used to display a composite image corresponding to the projected image, wherein the composite image is an image obtained by image compositing of the projected image.
[0019] According to one aspect of the embodiments of this application, an image processing apparatus is provided, the apparatus comprising:
[0020] The screen projection page display module is used to display the image projection page;
[0021] The page operation receiving module is used to receive image interactive editing operations triggered on the image projection page;
[0022] The screen projection image sending module is used to send a screen projection image to the second terminal during the process of receiving the image interactive editing operation, so that the image interactive page corresponding to the second terminal displays the screen projection image and the composite image corresponding to the screen projection image;
[0023] The synthesized image is an image obtained by image compositing of projection images sent by at least two terminals displayed on the image interaction page. The projection images sent by at least two terminals include the projection images. According to one aspect of the embodiments of this application, a computer device is provided. The computer device includes a processor and a memory. The memory stores at least one instruction, at least one program, code set, or instruction set. The at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by the processor to implement the above-described image processing method.
[0024] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, the storage medium storing at least one instruction, at least one program, code set or instruction set, wherein the at least one instruction, the at least one program, the code set or instruction set is loaded and executed by a processor to implement the above-described image processing method.
[0025] According to one aspect of the embodiments of this application, a computer program product is provided, the computer program product including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to perform to implement the above-described image processing method.
[0026] The technical solution provided in this application can bring the following beneficial effects:
[0027] By receiving images generated and projected by other terminals during image editing, the image interaction page can simultaneously display projected images sent by multiple terminals. In addition to displaying projected images, it can also display composite images obtained by image compositing of the projected images. This enables multiple terminals to perform image editing simultaneously, solving the problem of image editing being limited to a single terminal, improving the linkage between terminals during image editing, enriching image editing application scenarios, and enhancing user experience. Attached Figure Description
[0028] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 This is a schematic diagram of an application runtime environment provided in one embodiment of this application;
[0030] Figure 2 An example diagram illustrates the initialization process for a linked service;
[0031] Figure 3 This is a flowchart of an image processing method provided in one embodiment of this application. Figure 1 ;
[0032] Figure 4 This is a flowchart of an image processing method provided in one embodiment of this application. Figure 2 ;
[0033] Figure 5 An exemplary diagram illustrates a method of establishing a network connection by scanning a QR code;
[0034] Figure 6 This is a flowchart of an image processing method provided in one embodiment of this application. Figure 3 ;
[0035] Figure 7 An exemplary schematic diagram of an image group photo process is shown;
[0036] Figure 8 This is a flowchart of an image processing method provided in one embodiment of this application. Figure 4 ;
[0037] Figure 9 An exemplary diagram of an interactive image page is shown;
[0038] Figure 10 This is a flowchart of an image processing method provided in another embodiment of this application. Figure 6 ;
[0039] Figure 11 The flow of an image processing method provided in another embodiment of this application Figure 7 ;
[0040] Figure 12 An example flowchart is shown for the terminal's idle time determination;
[0041] Figure 13 An exemplary schematic diagram of the image data transmission process is shown;
[0042] Figure 14 The interactive flow of an image processing method provided in one embodiment of this application is illustrated. Figure 1 ;
[0043] Figure 15 The interactive flow of an image processing method provided in one embodiment of this application is illustrated. Figure 2 ;
[0044] Figure 16 This is a block diagram of an image processing apparatus provided in one embodiment of this application. Figure 1 ;
[0045] Figure 17 This is a block diagram of an image processing apparatus provided in one embodiment of this application. Figure 2 ;
[0046] Figure 18 This is a structural block diagram of a computer device provided in one embodiment of this application. Detailed Implementation
[0047] Before introducing the method embodiments provided in this application, a brief introduction will be given on the application scenarios, related terms or nouns that may be involved in the technical solutions provided in the method embodiments of this application, so as to facilitate the understanding of those skilled in the art.
[0048] Currently, there are many image editing apps available for mobile devices, capable of creating a wide range of cool effects, such as beautification, scene effects, and various stylish decorations. They are also very user-friendly, with many supporting one-click processing of various image effects. Compared to mobile devices, computer-based image editing software offers more professional options. However, these programs are more demanding to use, requiring users to possess certain technical skills. By utilizing the various professional functions within these software programs, users can create exquisite images on their computers.
[0049] However, the aforementioned functions cannot be achieved on the TV side of smart home appliances. First, operating with a remote control is more complex than touch operation on a mobile phone or mouse operation on a computer. Second, the hardware performance of a TV cannot compare with that of a mobile phone or computer; the hardware performance of a TV is inferior and far from meeting the requirements for image editing and processing.
[0050] Therefore, this application provides a technical solution for multi-terminal image editing, which can complement the advantages of both TV and mobile devices, making up for each other's shortcomings. The TV has a larger screen, which can be used to display images, providing a better image browsing experience than the mobile device, and can also offer an immersive entertainment experience for multiple users. The mobile device has superior algorithm processing capabilities, which can be used to complete image editing tasks. The edited image is then transmitted to the TV for projection display, allowing for group photos of multiple projected images on the TV.
[0051] The above scenarios are explained below with reference to specific operating environments. Please refer to [link / reference]. Figure 1 This diagram illustrates an application runtime environment provided in one embodiment of this application. The application runtime environment may include: terminal 10, server 20, and gateway 40.
[0052] Terminal 10 includes, but is not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, streaming media boxes, in-vehicle terminals, game consoles, e-book readers, multimedia playback devices, wearable devices, and other electronic devices. Application clients can be installed on terminal 10.
[0053] In this embodiment, the application described above can be any application capable of image processing. Typically, the application is a video application. Of course, image processing can also be performed on other types of applications besides video applications. For example, image enhancement applications, video editing applications, social applications, interactive entertainment applications, news applications, browser applications, shopping applications, content sharing applications, virtual reality (VR) applications, augmented reality (AR) applications, etc., are not limited in this embodiment. Optionally, the terminal 10 runs a client of the above-mentioned application.
[0054] Server 20 provides background services to clients of applications in terminal 10. For example, server 20 can be a background server for the aforementioned applications. Server 20 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. Optionally, server 20 can simultaneously provide background services to applications in multiple terminals 10.
[0055] Optionally, terminal 10 and server 20 can communicate with each other via network 30. Terminal 10 and server 20 can be directly or indirectly connected via wired or wireless communication, which is not limited herein.
[0056] In an exemplary embodiment, the terminal 10 includes a smartphone 11 and a smart TV 12, which communicate with the network 30 via a gateway 40. Optionally, the gateway 40 is a router. Accordingly, the smartphone 11 and the smart TV 12 are on the same local area network. On the other hand, the application can provide a linkage service to support multiple devices in jointly editing images. The linkage service can establish an mDNS (multicast Domain Name Server) device discovery service and a WebSocket (a full-duplex communication protocol based on TCP) server on the smart TV 12. Its main responsibilities are to provide device discovery services, as well as connection and data transmission channels between the mobile terminal and the smart TV 12. The mDNS mainly enables hosts on the local area network to discover and communicate with each other without a traditional DNS server. It uses port 5353, conforms to the DNS protocol, and uses existing DNS information structures, name syntax, and resource record types. The WebSocket mentioned above is a network transport protocol that enables full-duplex communication over a single TCP connection and is located at the application layer of the OSI (Open System Interconnection) model.
[0057] In one example, such as Figure 2 As shown, this example illustrates the initialization process for a linked service. On one hand, the smart TV initializes the mDNS service, then packages the mDNS protocol and broadcasts it to other hosts; on the other hand, it initializes the WebSocket, then binds to the service port and registers the protocol resolver.
[0058] The client application in smartphone 11 can use the mDNS discovery protocol to search for multicast domain name services in gateway 40, thereby finding smart TVs 12 within the local area network that have enabled mDNS service. The mDNS service of smart TV 12 multicasts a message to all hosts in the local area network, carrying the IP (Internet Protocol) address and the port of the linked service of smart TV 12. Smartphone 11 can resolve the IP address and linked service port of smart TV 12 through the data packets returned by the mDNS protocol and establish a connection with smart TV 12. A single smart TV 12 can connect to multiple smartphones 11, receive edited images transmitted from these smartphones 11, and perform image compositing on the smart TV 12 to obtain a composite image.
[0059] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0060] Please refer to Figure 3 It illustrates the flow of an image processing method provided in one embodiment of this application. Figure 1 This method can be applied to computer devices, which refer to electronic devices with data computing and processing capabilities. For example, the entity executing each step can be... Figure 1 Terminal 10 in the application runtime environment shown. The method may include the following steps (310~330).
[0061] Step 310: Display the image interaction page.
[0062] In some application scenarios, the aforementioned image interaction page serves as a display page for image editing and interaction with other terminals connected to the local device. The image interaction page is used to project and preview images edited on multiple terminals, enabling multi-device collaborative image editing.
[0063] Optionally, the aforementioned local device is a television terminal. In one possible implementation, a function switch is built into the application settings of the television terminal and the mobile terminal client to turn the screen mirroring interactive puzzle and group photo function on and off. The local device will only display the aforementioned image interaction page when this function is enabled.
[0064] In an exemplary embodiment, the aforementioned interactive image page is displayed after other terminals have successfully connected to the local device. Correspondingly, as... Figure 4 As shown, before performing step 310 above, the above method also includes the following steps (340~350). Figure 4 The flowchart of an image processing method provided in one embodiment of this application is shown. Figure 2 The following steps (340~350) can be used to establish a network connection between the local device and other terminals.
[0065] Step 340: Display the connection information page.
[0066] The connection information display page mentioned above includes the connection information of the local device.
[0067] In one possible implementation, the connection information described above is a graphic code, such as a QR code. The graphic code may carry the IP address of the local device and information about the port of the linked service.
[0068] In another possible implementation, the connection information mentioned above is the IP address of the local device and the port information of the linkage service. Other terminals can capture images of the connection information display page, extract text information from the captured images, and obtain the IP address of the local device and the port information of the linkage service to connect with the local device.
[0069] Step 350: Receive a device connection request from at least one terminal.
[0070] A device connection request is a request sent by at least one terminal after capturing an image of the connection information display page and identifying the connection information in the captured scanned image.
[0071] In one possible implementation, after other terminals scan the graphic code on the connection information display page, they will parse the IP address and linkage service port in the graphic code and request to establish a connection with the local device.
[0072] In one example, such as Figure 5 The diagram illustrates an example of establishing a network connection via scanning a QR code. The local device refreshes the QR code and can display it on its screen, such as on a connection information display page. The target terminal captures an image of the QR code displayed on the connection information display page, extracts the connection information from the QR code based on the captured image, and obtains the local device's network address and network port. The target terminal then establishes a connection with the local device based on the aforementioned network address and network port. Optionally, the target terminal can generate a QR code containing the local device's connection information based on the aforementioned network address and network port for other terminals to scan and connect to the local device.
[0073] In another possible implementation, other terminals can use device discovery functionality to search for devices within the local area network (LAN). If the local device is on the same LAN as the terminal, the other terminal can discover the local device and request to establish a network connection. This device connection method, which involves scanning connection information, solves the problem of being unable to establish a connection with the local device because it cannot discover devices within the LAN.
[0074] After receiving a connection request, the local device can establish a connection with the requesting terminal to enable image interaction. Correspondingly, such as... Figure 4 As shown, after step 380, step 310 can be replaced by step 311.
[0075] Step 311: If a network connection is established with any of the at least one terminal, display the image interaction page.
[0076] After other terminals establish a network connection with the local device, the client on the local device can open an interactive image page on the corresponding display device.
[0077] Step 320: Display the projected images sent by at least two terminals on the image interaction page.
[0078] In one possible implementation, the projected image is an image displayed on screen by at least two terminals during image interactive editing. After the aforementioned at least two terminals are connected to the local device, the user can select the image to be edited as the projected image on the terminal's image projection page. During the projection process, the image can be edited, and the image generated during editing is projected in real time as the projected image. The projected image can be automatically projected onto the local device's image interaction page for display.
[0079] Optionally, the projected image from the aforementioned terminal will also be displayed on the image projection page of at least two of the terminals. This allows users to intuitively and conveniently edit images on their terminals. The terminals generate the edited projected image based on the image editing operations and can project it onto the aforementioned image interaction page for display in real time. Optionally, users can change to other images for projection during the image editing process.
[0080] The local device can display the received projected image on the image interaction page according to a preset arrangement.
[0081] Step 330: Display the composite image corresponding to the projected image.
[0082] A composite image is an image obtained by combining the projected image with other images. This image combining process can be performed on the local device, or the local device can send the projected image to the target device for execution. The local device only needs to obtain the composite image corresponding to the projected image.
[0083] In one possible implementation, the local device responds to the image compositing confirmation command by performing image compositing processing on the projection image corresponding to each terminal to obtain a composite image; the composite image is then displayed on the image interaction page.
[0084] In an exemplary embodiment, the image interaction page includes an image display area corresponding to each of at least two terminals. Accordingly, as... Figure 4 As shown, one implementation of step 320 above is step 321.
[0085] Step 321: Display the projected image sent by each terminal in the image display area corresponding to each terminal.
[0086] In the code logic of the local device, a correspondence table between at least one of the above terminals and the image display area is maintained, as well as the image data displayed in each image display area. Then, the screen projection image sent by each terminal is displayed according to the above correspondence table.
[0087] In one possible implementation, if multiple mobile devices simultaneously project images onto a TV, the TV will display the images in separate grids, with each mobile device's projected image displayed in its own independent grid, which in turn represents the image display area.
[0088] Accordingly, such as Figure 4 As shown, after performing step 321 above, step 330 above can be replaced by the following steps.
[0089] Step 331: Display the composite image based on the projected image in the image display area corresponding to each terminal.
[0090] In one possible implementation, the local device performs image compositing processing on the projected image in the image display area corresponding to each terminal to generate a composite image; the composite image is then displayed on the image interaction page.
[0091] In an exemplary embodiment, during the execution of step 321 above, the local device determines whether each received projected image is the first projected image. If yes, the projected image can be displayed in full screen; if not, it determines whether the sender of the projected image is a newly added terminal. If yes, a new image display area is created to display the projected image; if not, the projected image is displayed in the image display area corresponding to the target terminal. The target terminal is the terminal that sent the projected image, and the display method can be replacement display or update display.
[0092] Accordingly, to achieve the different display methods of the projected images mentioned above, such as Figure 6 As shown, the implementation process of step 321 above includes the following steps (321a~321g). Figure 6 The flowchart of an image processing method provided in one embodiment of this application is shown. Figure 3 .
[0093] Step 321a: Receive image projection command.
[0094] Image casting commands include the terminal identifier corresponding to the sending terminal. An image casting command is a command sent by the terminal to the local device to instruct the image interaction page to display the corresponding cast image.
[0095] Optionally, the terminal identifier is a globally unique identifier (GUID) corresponding to the terminal.
[0096] Step 321b: If the image casting command is the first command received locally, then the cast image corresponding to the image casting command is displayed on the image interaction page.
[0097] If the image casting command is the first command received locally, the cast image corresponding to the first image casting command can be displayed in full screen on the image interaction page.
[0098] Step 321c: If the image projection command is not the first command received locally, the terminal identifier is compared with the terminal identifier corresponding to the terminal that has been projected to obtain the identifier comparison result.
[0099] A terminal that has already cast images refers to a terminal that has already displayed images on the image interaction page. The reason for comparing terminal identifiers is to determine the sender of the image casting command, and then execute different image casting display processes.
[0100] The identification comparison results include two types: the terminal identification is the same as the terminal identification corresponding to any of the terminals that have been projected, and the terminal identification is different from the terminal identification corresponding to the terminals that have been projected. Depending on the two different results, the process can start from step 321d or step 321f below.
[0101] Step 321d: If the terminal identifier is the same as the terminal identifier of any terminal among the terminals that have been projected, then update the projected image displayed in the image display area corresponding to the terminal identifier to the projected image corresponding to the image projecting command.
[0102] If the terminal identifier is the same as the terminal identifier of any terminal that has already cast the image, it means that the terminal that sent the image casting command is not casting for the first time, but is a terminal that has already cast the image.
[0103] When the terminal sending the image casting command is a terminal that has already cast to the screen, the image display area corresponding to the terminal identifier carried in the image casting command is determined, and then the casting image displayed in the image display area is updated to the casting image corresponding to the image casting command, so as to realize the timely update of the casting image.
[0104] In one possible implementation, the image segmentation transmission method, in which at least two terminals transmit the projected image to the local device, divides the image data corresponding to the projected image into multiple data packets for transmission. After receiving the image projection instruction, the local device can first determine the image display area corresponding to the terminal identifier in the instruction on the image interaction page. Before the image transmission is completed, it can display transmission progress information in the image display area.
[0105] After receiving the complete image data of the projected image, the local device can update the image currently displayed in the image display area corresponding to the terminal identifier, replacing the projected image corresponding to the previous image projecting instruction with the projected image corresponding to the current image projecting instruction.
[0106] Step 321e: If the terminal identifier is different from the terminal identifier corresponding to the terminal that has been projected, then create an image display area corresponding to the terminal identifier on the image interaction page.
[0107] If the terminal identifier is different from the terminal identifier corresponding to the already cast terminal, it means that the terminal that sent the image casting command is a newly added terminal to the image interaction editing, and this is the first casting of the newly added terminal. Therefore, a dedicated image display area can be created for it in the image interaction page for image casting display.
[0108] Step 321f: Display the projection image corresponding to the image projection command in the image display area corresponding to the terminal identifier.
[0109] The following example illustrates the above steps using the screen mirroring process of the target terminal as an example, to facilitate understanding by those skilled in the art. In this example, the at least two terminals mentioned above include the target terminal, which refers to any one of the at least one terminals, used to illustrate the display method of the screen mirrored image of a single terminal. For the screen mirrored image sent by the target terminal, the local device can perform the following processing: receive the screen mirrored image sent by the target terminal at a first moment; display the screen mirrored image sent by the target terminal at the first moment on the image interaction page; and, upon receiving the screen mirrored image sent by the target terminal at a second moment, update the screen mirrored image sent at the first moment to the screen mirrored image sent at the second moment.
[0110] The second moment is later than the first moment. Optionally, the projected image sent at the first moment and the projected image sent at the second moment are different images. Further, the projected image sent at the first moment and the projected image sent at the second moment are different images obtained from the same original image through different image editing operations. The above-mentioned update process refers to replacing the projected image sent at the first moment displayed in the image display area corresponding to the target terminal with the projected image sent at the second moment.
[0111] The following example illustrates the interactive workflow of image editing. Please refer to [link / reference]. Figure 7 The example illustrates a schematic diagram of an image casting process. After establishing a connection between the mobile phone and the TV, the user opens the image casting page on the mobile phone, selects the photo to be cast, initiates the casting command, and uploads the photo to the TV. Upon receiving the command, the TV determines whether it is the first command.
[0112] If it's the first command, display the photo in full screen. For example, display the photo in full screen on an image interaction page. Since it's the first command, it means that the TV has only received one image at this point, and the image can be displayed in full screen on the TV without needing to be displayed in sections.
[0113] If it's not the first command, the TV will determine if the command originated from a connected terminal. This is done by extracting the globally unique identifier (GUID) from the command. Each terminal has a unique GUID as its identifier. If the GUID in the command matches the GUID of the target terminal among the connected terminals, then the command was sent by the target terminal. If the GUID in the command is different from the GUIDs of all the connected terminals, then the command was sent by a newly connected terminal.
[0114] If the verification command comes from a connected terminal, the corresponding grid image is updated. For example, the image in the image display area corresponding to that terminal is updated on the image interaction page.
[0115] If the verification command does not originate from a connected terminal, a new grid is created to display the image. For example, a new image display area is added to the image interaction page to show the new image, and the new image is placed on the topmost layer in the preview image.
[0116] In an exemplary embodiment, the image interaction page further includes a composite image preview area, which is used to preview the composite image corresponding to the projection image currently displayed in the image display area.
[0117] Correspondingly, such as Figure 6 As shown, the implementation process of the above 331 includes the following steps (331a~331d).
[0118] Step 331a: Perform image compositing processing on the currently displayed projection image in the image display area corresponding to each terminal to generate a preview image.
[0119] The preview image is a composite image corresponding to the currently displayed projected image.
[0120] The projected image will be updated according to the image editing operations on the terminal. Therefore, the image compositing process is to composite the projected image currently displayed in the display area and preview the composite image corresponding to the currently displayed projected image, i.e., the preview image mentioned above.
[0121] In an exemplary embodiment, such as Figure 8 As shown, the image synthesis process corresponding to step 331a above includes the following steps (331a1~331a2). Figure 8The flowchart of an image processing method provided in one embodiment of this application is shown. Figure 4 .
[0122] Step 331a1: Obtain the layer position information corresponding to the currently displayed projected image.
[0123] The layer position information mentioned above is used to characterize the layer position of the projected image in the composite image.
[0124] In one possible implementation, the position of the aforementioned layer can be determined based on the projection order of each projected image.
[0125] In one possible implementation, the user can set the layer position of the image to be projected before projecting. Upon detecting the layer position setting operation, any one of the at least two terminals generates layer position information corresponding to the image to be projected and encapsulates this information in the image projecting command. The local device can then determine the layer position of the image to be projected based on the layer position information in the image projecting command.
[0126] Step 331a2: Based on the layer position information, overlay the currently displayed projection image to generate a preview image.
[0127] In one possible implementation, the specific logic of the above overlay process is as follows: Image data corresponding to the bottommost layer of the projected image is filled into a target two-dimensional array. Then, image data corresponding to the layer above the current layer is overlaid onto the target two-dimensional array; for example, the data from the previous layer is replaced in the existing target two-dimensional array. If the image data at the corresponding position is transparent, no replacement is performed. This strategy is applied sequentially to the data of other layers until the topmost layer data is replaced in the two-dimensional array, resulting in a composite image. If the image data has some transparency and is not completely transparent, it is ANDed with the data in the corresponding two-dimensional array to generate new image data, which is then replaced in the two-dimensional array.
[0128] Step 331b: Display the preview image in the composite image preview area.
[0129] The local device can perform real-time image synthesis processing on the received images to generate the aforementioned preview images, and display the preview images corresponding to the projected images in the synthesized image preview area, thus demonstrating the image synthesis effect in real time.
[0130] Taking a TV as an example, if multiple mobile devices simultaneously project images onto the TV, the TV will display these images in separate grids. Each mobile device's image will be displayed in its own independent grid. In addition to these grids, there is also a composite image preview area that displays a preview image. This preview image is the effect of all the projected images being superimposed together.
[0131] In one possible implementation, the user can adjust the layer position of the projected image in the preview image on the terminal.
[0132] For newly added projected images, the preview image can be placed on the topmost layer for display.
[0133] Step 331c: In response to the image compositing confirmation command, the currently displayed preview image in the composite image preview area is determined as the target composite image.
[0134] The target synthetic image is used to characterize the result of interactive image editing.
[0135] Upon receiving the aforementioned image compositing confirmation instruction, since the image compositing preview area on the image interaction page has already previewed the compositing image (preview image) corresponding to the currently displayed projection image, it indicates that the image compositing processing operation has been completed. Therefore, upon receiving this instruction, there is no need to perform the image compositing processing operation again. The currently displayed preview image can be directly determined as the target compositing image and used as the image editing result obtained in this image interaction editing.
[0136] In an exemplary embodiment, the above-mentioned image synthesis confirmation instruction can be generated in two ways: one is to generate the above-mentioned image confirmation instruction based on the operation received by the local device, and the other is to generate the above-mentioned image confirmation instruction based on the request sent by other devices. These two methods will be described below.
[0137] In one possible implementation, the image interaction page also includes an image compositing confirmation option. Accordingly, as... Figure 8 As shown, before step 331c above, the method further includes the following step 331e. Figure 8 The flowchart of an image processing method provided in one embodiment of this application is shown. Figure 4 .
[0138] Step 331e: If a selection operation for the image compositing confirmation option is detected, an image compositing confirmation instruction is generated.
[0139] The local device has an operation path for compositing images. For example, clicking the menu button will bring up a menu with an image compositing confirmation option. When the local device detects a selection of the image compositing confirmation option, it generates an image compositing confirmation command.
[0140] In another possible implementation, such as Figure 8 As shown, before step 331c above, the above method also includes the following step 331f.
[0141] Step 331f: Upon receiving an image compositing confirmation request from the first terminal, generate an image compositing confirmation instruction.
[0142] The image compositing confirmation request is a request generated by the first terminal in response to the image compositing confirmation operation. The first terminal is the image compositing control terminal in at least one terminal.
[0143] On the first terminal, i.e., the aforementioned image compositing control terminal, the corresponding image projection page will have an image compositing confirmation option, such as a group photo button. In response to clicking the image compositing confirmation option, the first terminal will send an image compositing confirmation request to the local device, or it can send a group photo command to the local device. Upon receiving the image compositing confirmation request or group photo command, the local device will generate the aforementioned image compositing confirmation command. This image compositing confirmation option is only available on the first mobile device to project, i.e., the aforementioned image compositing control terminal. Subsequent mobile devices joining the projection will not have a compositing button; these are called client devices. The host terminal manages the image compositing operation. Once the host terminal confirms that all client devices have finished editing, they can click to composite.
[0144] Step 331d: Display the target synthesized image on the image interaction page.
[0145] After determining the currently displayed preview image in the composite image preview area as the target composite image in step 331c above, the page layout of the image interaction page can be adjusted, and the adjusted target composite image can be displayed on the image interaction page.
[0146] In one possible implementation, the page layout adjustment process includes pose adjustment of the target composite image and displaying the pose-adjusted target composite image on the image interaction page. The pose adjustment includes adjusting display attribute information such as image size, image display position, and the layer on which the image resides, thereby updating the display appearance of the target composite image.
[0147] Optionally, the target composite image is displayed in full screen on the image interaction page. A view transformation is performed on the target composite image within the composite image preview area, displaying the transformed target composite image. This view transformation refers to the process of transforming the page view where the image is located. The page view refers to page elements used to display multimedia content, such as text views, image views, and video player views; it can be simply understood as the framework used for content display. The above pose adjustment processing can be achieved through this view transformation. For example, by performing a view transformation on the target composite image, the image view corresponding to the target composite image is transformed from the composite image preview area to the maximum display area of the page screen, so that the image interaction page displays the target composite image in full screen.
[0148] Optionally, the above page layout adjustment process may also include canceling the display of each image display area and the projected image in each image display area, and may also include canceling the display of the composite image preview area.
[0149] In one example, after the logic for taking a group photo is triggered on the local device, the local device closes the individual small windows displaying the projected images on the image interaction page, while gradually filling the entire screen with the preview image. The aforementioned group photo is essentially merging the superimposed images into a single image.
[0150] The specific rules for the above page layout adjustment are not limited in this application embodiment, and can be adjusted according to the device attributes of the actual application scenario.
[0151] The following example illustrates the process of interactive image editing using specific page diagrams. In one example, such as... Figure 9 As shown, it exemplifies a schematic diagram of an interactive image page. Figure 9 The screen-casting terminals are Terminal 1 and Terminal 2. Terminal 1 sends screen-cast image 911 and Terminal 2 screen-cast image 912 to the TV terminal, respectively. The TV terminal's image interaction page displays screen-cast images 911 and 912 in separate sections, and displays a preview image 913 corresponding to screen-cast images 911 and 912 in another preview area. Preview image 913 is a composite image obtained by overlaying screen-cast images 911 and 912 on the TV terminal. Real-time preview of the image composite is achieved by displaying the preview image in real time. Users can also perform further image editing operations based on the composite image displayed in the preview area. If the user sees that the preview image 913 achieves the desired effect, they can click the "group photo" button 915 to confirm the image composite. In response to the selection operation of the "group photo" button 915, the TV terminal cancels the display of screen-cast images 911 and 912, and simultaneously selects preview image 913 as the target composite image 914 and displays it in full screen.
[0152] Furthermore, all terminals connected to the local device can exit the interactive image editing process. The first terminal to project its image can be called the master terminal, also known as the image compositing control terminal (mentioned below). It has control over image compositing and all image compositing operations are managed by the master terminal. Other terminals connected to the local device besides the master terminal can be called client terminals. If the master terminal exits image editing, the local device needs to not only cancel the display of the image projected by the master terminal but also send a permission transfer command to the second terminal to project its image, instructing the second terminal to become the image compositing control terminal, while the other terminals retain their client permissions. If a client terminal exits image editing, the local device simply cancels the display of the image projected by that client terminal.
[0153] The image casting page corresponding to the aforementioned image compositing control terminal can have an image compositing confirmation option, which could be a button on the page. For the client side, since it does not have control over image compositing, the corresponding page will not display an image compositing confirmation option. On the other hand, the local device can also have an operation path to control image compositing processing, such as clicking the menu button on the image interaction page to bring up a menu containing an image compositing confirmation option.
[0154] Additionally, the image editing process can be stopped on the local device side. For example, in applications where the local device is a TV or TV box, the user can press the back button on the remote control to exit the image interaction page. Both the host and client devices will receive an exit command from the TV, indicating that the user has exited the image editing process.
[0155] In summary, the technical solution provided by the embodiments of this application, by receiving images generated and projected by other terminals during image editing operations, enables the simultaneous display of projected images sent by multiple terminals on the image interaction page. In addition to displaying projected images, it can also display composite images obtained by image compositing of the projected images, thereby supporting multiple terminals to perform image editing simultaneously, solving the problem that image editing is limited to a single terminal, improving the linkage between terminals during image editing, enriching image editing application scenarios, and enhancing user experience.
[0156] Please refer to Figure 10 It illustrates the flow of an image processing method provided in another embodiment of this application. Figure 6 This method can be applied to computer devices, which refer to electronic devices with data computing and processing capabilities. For example, the entity executing each step can be... Figure 1 Terminal 10 in the application runtime environment shown. The method may include the following steps (1001~1003).
[0157] Step 1001: Display the image projection page.
[0158] The aforementioned image casting page refers to the page on the terminal where users can edit and cast images. On the image casting page, users can select images to cast, perform corresponding image editing operations, and display the edited images in real time.
[0159] In an exemplary embodiment, such as Figure 11 As shown, the above method also includes the following steps (1004~1006). Figure 11 The flowchart of another embodiment of the image processing method provided in this application is shown. Figure 7 The following steps (1004~1006) can be performed before step 1001 above.
[0160] Step 1004: Display the image scanning page.
[0161] The image scanning page is used to preview at least one frame of the captured scanned image.
[0162] Step 1005: In response to the connection information of the second terminal identified in at least one frame of scanned image, a device connection request is sent to the second terminal.
[0163] The aforementioned connection information can be a graphical code, which includes the connection information of the second terminal, such as the network address and service port.
[0164] Step 1006: A connection success message is displayed.
[0165] The above connection success message indicates that a network connection has been successfully established between the device and the target terminal.
[0166] In an exemplary embodiment, such as Figure 11 As shown, the method further includes the following steps (1007-1008). The following steps (1007-1008) can be performed before step 1001 above.
[0167] Step 1007: Display the device scanning page.
[0168] The device scanning page is used to preview connectable devices within the target network, and includes connection options for the second terminal. Optionally, the target network mentioned above refers to the local area network where the current device is located.
[0169] Step 1008: In response to the selection operation for the connection option, a device connection request is sent to the second terminal.
[0170] In one possible implementation, a user selects a device with removed proprietary protocols on the device scanning interface of their mobile phone. In response to the selection of the device with removed proprietary protocols, the device can automatically establish a connection with the TV on the local area network.
[0171] After step 1008 above, the operation of displaying the connection success information in step 1006 above can be performed.
[0172] Step 1002: Receive image interactive editing operations triggered on the image projection page.
[0173] In one possible implementation, because the mobile phone has higher hardware configuration and better algorithm capabilities, image editing operations can be performed on the mobile phone. Therefore, the screen-projected image is also selected and generated on the mobile phone.
[0174] The aforementioned image interactive editing operations refer to the operations performed on the target object during the image interactive editing process, including but not limited to image selection operations, image editing operations, and image projection operations.
[0175] Users can perform the above-mentioned interactive image editing operations on the image projection page, and the device can receive the interactive image editing operations triggered on the image projection page.
[0176] Optionally, in response to an image selection operation on the first image, the first image is displayed in the image editing area of the image projection page. The device can also generate an image projection command for the first image and send it to the second terminal, and send the image data of the first image to the second terminal. Optionally, the layer position information of the first image is sent to the second terminal, so that the second terminal adds the first image to the corresponding layer according to the layer position information and performs image compositing processing with the projected images from other terminals.
[0177] Optionally, in response to an image editing operation on the first image, an edited image corresponding to the first image is obtained. The device may also generate an image projection command for the edited image and send it to the second terminal, and send the image data of the edited image to the second terminal. Optionally, the layer position information of the edited image is sent to the second terminal, so that the second terminal adds the edited image to the corresponding layer according to the layer position information, and performs image compositing processing with the projected images from other terminals.
[0178] The image editing operations mentioned above include, but are not limited to: beautification, scene effects, clothing changes, background removal, adjusting transparency, and adjusting layer positions.
[0179] Step 1003: During the process of receiving image interactive editing operations, a projection image is sent to the second terminal so that the image interactive page corresponding to the second terminal displays the projection image and the composite image corresponding to the projection image.
[0180] The composite image is an image obtained by combining the projection images sent by at least two terminals displayed on the image interaction page. The projection images sent by at least two terminals include the projection images.
[0181] During the process of receiving image interactive editing operations, the device can send the projected image to the second terminal according to preset projection rules. The preset projection rules include, but are not limited to, sending updated projected images in real time, sending updated projected images at regular intervals, sending updated projected images based on the idle time of the operation, and sending updated projected images based on preset operations.
[0182] In one possible implementation, the local device is a mobile phone, and the second terminal is a television. The mobile phone detects the idle time between the last image editing operation and the current time. If the idle time is greater than or equal to a preset time, it captures the current image data from the image projection page on the mobile phone and automatically uploads it to the television for real-time display. Simply put, the idle time is the duration during which the terminal remains on the image editing interface without receiving any image editing operations. This determination process can be called the idle time determination process. If the idle time is greater than or equal to the preset time, it indicates that the terminal is in an idle state during the image editing operation; conversely, if the idle time is less than the preset time, it indicates that the terminal is in a non-idle state during the image editing operation.
[0183] In one example, such as Figure 12 As shown, this example illustrates a flowchart of the terminal's idle time determination process. Users can edit images on their mobile devices, and the mobile device performs an idle time determination. If the determination result is idle, the image is uploaded; if the determination result is not idle, the device continues to wait for the user to edit the image.
[0184] Once the terminal determines that it needs to send a projected image to the second terminal, it can transmit the image in segments due to the large amount of image data involved in the transmission process.
[0185] In one example, such as Figure 13 As shown, this example illustrates a schematic diagram of the image data transmission process. The mobile phone initiates a group photo command to the TV. The TV opens the group photo interface, i.e., the image interaction page in the above embodiment, and replies to the mobile phone with the command. The mobile phone performs image data fragmentation, specifically splitting the image data into 1024-byte data packets. After image data fragmentation, the mobile phone performs image data fragment transmission, sequentially transmitting the data packets to the TV. After receiving the image data packets, the TV performs image data assembly. When it receives the last packet (the last data packet), it indicates that all data has been transmitted. At this point, the TV encodes the image data into a complete image and displays the image at the corresponding location on the interface. Optionally, to improve the user experience, the TV can display the transmission progress during data reception. For example, image transmission information can be displayed on the group photo interface, including prompts with dynamic data transmission effects and transmission progress values.
[0186] In an exemplary embodiment, the image projection page includes an image compositing confirmation option, which is permission information corresponding to the image compositing control terminal in at least one terminal. Optionally, the first terminal to project is the aforementioned image compositing control terminal. The aforementioned image compositing control terminal can also be adjusted, and the second terminal can determine the image compositing control terminal among at least two terminals by sending permission information.
[0187] Correspondingly, such as Figure 11 As shown, the above method also includes the following steps (1009~1011).
[0188] Step 1009: If a selection operation for the image synthesis confirmation option is detected, an image synthesis confirmation request is sent to the second terminal.
[0189] An image compositing confirmation request is sent to the second terminal so that the second terminal can determine the target compositing image based on the image compositing confirmation request. The target compositing image is used to characterize the result of interactive image editing.
[0190] Step 1010: Receive the target composite image sent by the second terminal.
[0191] Step 1011: Display the target composite image.
[0192] In summary, the technical solution provided by the embodiments of this application sends the image generated by the terminal during the image interactive editing operation to the second terminal as a projection image, so that the projection image can be displayed simultaneously on the image interaction page of the second terminal with projection images from other terminals. Furthermore, the second terminal can also display a corresponding composite image based on projection images sent by at least two terminals. This solves the problem of image editing being limited to a single terminal, realizes the function of simultaneous image editing by the local terminal and other terminals, improves the linkage between terminals during image editing, enriches image editing application scenarios, and enhances user experience.
[0193] Please refer to Figure 14 It illustrates the interactive flow of an image processing method provided in one embodiment of this application. Figure 1 This method may include the following steps (1401~1427).
[0194] Step 1401: The second terminal displays the connection information page.
[0195] Step 1402: The first terminal displays the image scanning page.
[0196] Step 1403: In response to the connection information of the second terminal identified in at least one frame of scanned image, the first terminal sends a device connection request to the second terminal.
[0197] Step 1404: The first terminal displays the image projection page.
[0198] Step 1405: The third terminal displays the device scanning page.
[0199] In step 1406, the third terminal responds to the selection operation for the connection option by sending a device connection request to the second terminal.
[0200] Step 1407: The third terminal displays the image projection page.
[0201] Step 1408: If the second terminal establishes a network connection with any of the at least one terminal, it displays an interactive image page.
[0202] Step 1409: In response to the screen projection operation for the first image, the first terminal sends a first screen projection command to the second terminal, using the first image as the projection image.
[0203] The aforementioned first screen mirroring command is an image mirroring command, instructing the second terminal to display the first image.
[0204] Step 1410: The first terminal sends the fragmented data of the first image to the second terminal.
[0205] Step 1411: When the first screen projection instruction is the first screen projection instruction, the second terminal displays the first image in full screen on the image interaction page based on the segmented data of the first image.
[0206] In step 1412, the third terminal responds to the screen projection operation for the second image by sending a second screen projection command to the second terminal, using the second image as the projection image.
[0207] The aforementioned second screen mirroring command is an image mirroring command, instructing the second terminal to display the second image.
[0208] Step 1413: The third terminal sends the fragmented data of the second image.
[0209] Step 1414: If the terminal sending the second screen projection command is a newly added terminal, the second terminal displays the first image sent by the first terminal in the first image display area and displays the second image sent by the second terminal in the second image display area.
[0210] The second terminal can determine whether the terminal sending the second screen-casting command is a newly added terminal based on the terminal identifier in the instruction. For specific judgment rules, please refer to steps 321b to 321f in the above embodiment. A newly added terminal refers to a terminal whose terminal identifier is different from the terminal identifier corresponding to the already cast terminal.
[0211] Step 1415: The first terminal responds to the editing operation on the first image and obtains the first edited image corresponding to the first image.
[0212] Step 1416: The first terminal determines the idle time of the operation.
[0213] Step 1417: The first terminal responds to the fact that the operation idle time corresponding to the current time is equal to the preset time, and sends the first edited image as the projection image to the second terminal as the third projection command.
[0214] Step 1418: The first terminal sends the segmented data of the first edited image.
[0215] In step 1419, the second terminal responds to the third screen projection command by updating the first image displayed in the first image display area to the first edited image.
[0216] Step 1420: When the first terminal detects a selection operation for the image synthesis confirmation option, it sends an image synthesis confirmation request to the second terminal.
[0217] Step 1421: Upon receiving the image compositing confirmation request, the second terminal generates an image compositing confirmation instruction.
[0218] Step 1422: In response to the image synthesis confirmation command, the second terminal performs image synthesis processing on the projected image in the image display area corresponding to each terminal to obtain the target synthesized image.
[0219] The target image described above can also be determined through steps 331a to 331c in the above embodiments, and this embodiment does not limit it.
[0220] Step 1423: The second terminal sends the target composite image to the first terminal.
[0221] Step 1424: The second terminal sends the target composite image to the third terminal.
[0222] Step 1425: The second terminal displays the target composite image.
[0223] Step 1426: The first terminal displays the target composite image.
[0224] Step 1427: The third terminal displays the target composite image.
[0225] In an exemplary embodiment, such as Figure 15 As shown, after step 1414 above, the following steps (1428~1432) are also included. Figure 15 The interactive flow of an image processing method provided in one embodiment of this application is illustrated. Figure 2 .
[0226] In step 1428, the first terminal responds to the screen casting termination operation by sending a screen casting termination command to the second terminal.
[0227] In step 1429, the second terminal, in response to receiving the screen casting termination command sent by the first terminal, cancels the display of the first image sent by the first terminal.
[0228] In step 1430, the second terminal, in response to receiving the screen casting termination instruction sent by the first terminal, sends a permission transfer instruction to the third terminal.
[0229] In step 1431, the third terminal responds to the permission transfer instruction and displays an image compositing confirmation option on the image projection page.
[0230] Step 1432: When the third terminal detects a selection operation for the image synthesis confirmation option, it sends an image synthesis confirmation request to the second terminal.
[0231] After receiving the above-mentioned synthesis confirmation request, the second terminal can start executing from step 1421.
[0232] The following are embodiments of the apparatus of this application, which can be used to execute embodiments of the method of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method of this application.
[0233] Please refer to Figure 16 It illustrates a block diagram of an image processing apparatus provided in one embodiment of this application. Figure 1 The device has the function of implementing the above-described image processing method. This function can be implemented in hardware or by hardware executing corresponding software. The device can be a computer device or can be installed within a computer device. The device 1600 may include: an interactive page display module 1610, a projected image display module 1620, and a composite image display module 1630.
[0234] The interactive page display module 1610 is used to display interactive image pages.
[0235] The screen projection image display module 1620 is used to display screen projection images sent by at least two terminals on the image interaction page. The screen projection images are images displayed by the at least two terminals during the image interaction editing process.
[0236] The composite image display module 1630 is used to display the composite image corresponding to the projected image, wherein the composite image is an image obtained by image compositing processing of the projected image.
[0237] In an exemplary embodiment, the image interaction page includes an image display area corresponding to each of the at least two terminals, and the projection image display module 1620 is specifically used for:
[0238] The projected image sent by each terminal is displayed in the image display area corresponding to each terminal.
[0239] The composite image display module 1630 is specifically used for:
[0240] The composite image is displayed based on the projected image in the image display area corresponding to each terminal.
[0241] In an exemplary embodiment, the screen projection image display module 1620 includes: an instruction receiving unit and an image updating unit.
[0242] The instruction receiving unit is used to receive image projection instructions, wherein the image projection instructions include the terminal identifier corresponding to the instruction sending terminal.
[0243] The image update unit is used to update the projection image displayed in the image display area corresponding to the terminal identifier to the projection image corresponding to the image projection instruction if the terminal identifier is the same as the terminal identifier corresponding to any terminal among the projection terminals. The projection terminal refers to the terminal that has already performed image projection display on the image interaction page.
[0244] In an exemplary embodiment, the projection image display module 1620 further includes: a region creation unit and an image display unit.
[0245] The region creation unit is used to create an image display region corresponding to the terminal identifier on the image interaction page if the terminal identifier is different from the terminal identifier corresponding to the screen-projected terminal.
[0246] An image display unit is used to display the projected image corresponding to the image projection command in the image display area corresponding to the terminal identifier.
[0247] In an exemplary embodiment, the image interaction page further includes a composite image preview area, which is used to preview the composite image corresponding to the projection image currently displayed in the image display area.
[0248] The composite image display module 1630 includes: an image synthesis unit and an image preview unit.
[0249] An image compositing unit is used to perform image compositing processing on the projection image currently displayed in the image display area corresponding to each terminal to generate a preview image, wherein the preview image is the compositing image corresponding to the currently displayed projection image;
[0250] An image preview unit is used to display the preview image in the composite image preview area.
[0251] In an exemplary embodiment, the composite image display module 1630 further includes: an image determination unit and a result display unit.
[0252] An image determination unit is configured to, in response to an image compositing confirmation command, determine the currently displayed preview image in the compositing image preview area as the target compositing image, wherein the target compositing image is used to characterize the result of interactive image editing.
[0253] The result display unit is used to display the target synthetic image on the image interaction page.
[0254] In an exemplary embodiment, the image interaction page includes an image synthesis confirmation option, and the device 1600 further includes a synthesis instruction generation module.
[0255] A compositing instruction generation module is used to generate the image compositing confirmation instruction when a selection operation for the image compositing confirmation option is detected.
[0256] In an exemplary embodiment, the synthesis instruction generation module is further configured to generate the image synthesis confirmation instruction upon receiving an image synthesis confirmation request sent by the first terminal.
[0257] The image compositing confirmation request is a request generated by the first terminal in response to the image compositing confirmation operation, and the first terminal is the image compositing control terminal among the at least one terminal.
[0258] In an exemplary embodiment, the image synthesis unit includes: a layer position acquisition unit and a layer overlay unit.
[0259] The layer position acquisition unit is used to acquire the layer position information corresponding to the currently displayed projection image.
[0260] The layer overlay unit is used to overlay the currently displayed projection image based on the layer position information to generate the preview image.
[0261] In an exemplary embodiment, the device 1600 further includes: a connection information display module and a connection request receiving module.
[0262] A connection information display module is used to display a connection information display page, which includes connection information of the local device.
[0263] A connection request receiving module is used to receive a device connection request sent by the at least one terminal. The device connection request is a request sent by the at least one terminal after capturing an image of the connection information display page and identifying the connection information in the captured scanned image.
[0264] The interactive page display module 1610 is specifically used for:
[0265] The image interaction page is displayed when a network connection is established with any of the at least one terminal.
[0266] In summary, the technical solution provided by the embodiments of this application, by receiving images generated and projected by other terminals during image editing operations, enables the simultaneous display of projected images sent by multiple terminals on the image interaction page. In addition to displaying projected images, it can also display composite images obtained by image compositing of the projected images, thereby supporting multiple terminals to perform image editing simultaneously, solving the problem that image editing is limited to a single terminal, improving the linkage between terminals during image editing, enriching image editing application scenarios, and enhancing user experience.
[0267] Please refer to Figure 17 It illustrates a block diagram of an image processing apparatus provided in one embodiment of this application. Figure 2 The device has the function of implementing the above-described image processing method. This function can be implemented in hardware or by hardware executing corresponding software. The device can be a computer device or can be installed within a computer device. The device 1700 may include: a screen projection display module 1710, a page operation receiving module 1720, and a screen projection image sending module 1730.
[0268] The screen projection page display module 1710 is used to display the image projection page.
[0269] The page operation receiving module 1720 is used to receive image interactive editing operations triggered on the image projection page.
[0270] The screen projection image sending module 1730 is used to send a screen projection image to the second terminal during the process of receiving the image interactive editing operation, so that the image interactive page corresponding to the second terminal displays the screen projection image and the composite image corresponding to the screen projection image;
[0271] The composite image is an image obtained by combining the projection images sent by at least two terminals displayed on the image interaction page, and the projection images sent by at least two terminals include the projection images.
[0272] In an exemplary embodiment, the image projection page includes an image compositing confirmation option, which is permission information corresponding to the image compositing control terminal in at least one terminal. The device 1700 further includes: a compositing request sending module, a compositing image receiving module, and a compositing image display module.
[0273] The image synthesis request sending module is used to send an image synthesis confirmation request to the second terminal when a selection operation for the image synthesis confirmation option is detected.
[0274] A composite image receiving module is used to receive a target composite image sent by the second terminal, the target composite image being used to characterize the result of interactive image editing.
[0275] A composite image display module is used to display the target composite image.
[0276] In an exemplary embodiment, the device 1700 further includes: a scanning page display module, a connection request sending module, and a connection information display module.
[0277] The scanning page display module is used to display an image scanning page, which is used to preview at least one frame of the captured scanned image.
[0278] The connection request sending module is used to send a device connection request to the second terminal in response to the connection information of the second terminal identified in the at least one frame of scanned image.
[0279] The connection information display module is used to display connection success information.
[0280] In an exemplary embodiment, the device 1700 further includes a device scanning module.
[0281] The device scanning module is used to display a device scanning page, which is used to preview connectable devices in the target network. The device scanning page includes connection options corresponding to the second terminal.
[0282] The connection request sending module is further configured to send a device connection request to the second terminal in response to the selection operation for the connection option.
[0283] The connection information display module is also used to display connection success information.
[0284] In summary, the technical solution provided by the embodiments of this application sends the image generated by the terminal during the image interactive editing operation to the second terminal as a projection image, so that the projection image can be displayed simultaneously on the image interaction page of the second terminal with projection images from other terminals. Furthermore, the second terminal can also display a corresponding composite image based on projection images sent by at least two terminals. This solves the problem of image editing being limited to a single terminal, realizes the function of simultaneous image editing by the local terminal and other terminals, improves the linkage between terminals during image editing, enriches image editing application scenarios, and enhances user experience.
[0285] It should be noted that the apparatus provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0286] Please refer to Figure 18 This illustrates a structural block diagram of a computer device provided in one embodiment of this application. The computer device 1800 may be... Figure 1 Terminal 10 is shown in the application runtime environment. This computer device 1800 is used to implement the image processing method provided in the above embodiments. Specifically:
[0287] Typically, computer device 1800 includes a processor 1801 and a memory 1802.
[0288] Processor 1801 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 1801 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1801 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1801 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1801 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0289] The memory 1802 may include one or more computer-readable storage media, which may be non-transitory. The memory 1802 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1802 is used to store at least one instruction, at least one program, code set, or instruction set, configured to be executed by one or more processors to implement the image processing method described above.
[0290] In some embodiments, the computer device 1800 may also optionally include a peripheral device interface 1803 and at least one peripheral device. The processor 1801, memory 1802, and peripheral device interface 1803 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1803 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1804, a display screen 1805, a camera assembly 1806, an audio circuit 1807, a positioning assembly 1808, and a power supply 1809.
[0291] Those skilled in the art will understand that Figure 18 The structure shown does not constitute a limitation on the computer device 1800, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0292] In an exemplary embodiment, a computer-readable storage medium is also provided, the storage medium storing at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set, when executed by a processor, implements the above-described image processing method.
[0293] Optionally, the computer-readable storage medium may include: ROM (Read Only Memory), RAM (Random Access Memory), SSD (Solid State Drives), or optical disc, etc. The random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).
[0294] In an exemplary embodiment, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the image processing method described above.
[0295] It should be understood that "multiple" as mentioned herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in the order shown in the numbers, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this. The above descriptions are merely exemplary embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. An image processing method, characterized in that, The method includes: Display an interactive image page; the interactive image page includes an image display area corresponding to each of at least two terminals; In the image display area corresponding to each terminal, the projected image sent by each terminal is displayed. The projected image is an image projected and displayed by at least two terminals during the image interactive editing process. Based on the projected image in the image display area corresponding to each terminal, a composite image is displayed. The composite image is an image obtained by image compositing of the projected image.
2. The method according to claim 1, characterized in that, Displaying the projected image sent by each terminal in the image display area corresponding to each terminal includes: Receive an image projection command, wherein the image projection command includes a terminal identifier corresponding to the command sending terminal; If the terminal identifier is the same as the terminal identifier of any terminal among the terminals that have been projected, then the projected image displayed in the image display area corresponding to the terminal identifier will be updated to the projected image corresponding to the image projecting instruction. The terminal that has been projected refers to the terminal that has already been projected on the image interaction page.
3. The method according to claim 2, characterized in that, After receiving the image projection command, the method further includes: If the terminal identifier is different from the terminal identifier corresponding to the terminal that has been projected, then an image display area corresponding to the terminal identifier is created on the image interaction page; The image to be cast according to the image casting command is displayed in the image display area corresponding to the terminal identifier.
4. The method according to claim 1, characterized in that, The image interaction page also includes a composite image preview area, which is used to preview the composite image corresponding to the currently displayed projection image in the image display area; The step of displaying the composite image based on the projected image in the image display area corresponding to each terminal includes: The image currently displayed in the image display area corresponding to each terminal is processed by image compositing to generate a preview image, which is the composite image corresponding to the currently displayed image. The preview image is displayed in the composite image preview area.
5. The method according to claim 4, characterized in that, After displaying the preview image in the composite image preview area, the method further includes: In response to the image compositing confirmation command, the preview image currently displayed in the compositing image preview area is determined as the target compositing image, which is used to characterize the result of interactive image editing; The target composite image is displayed on the image interaction page.
6. The method according to claim 5, characterized in that, Before determining the currently displayed preview image in the composite image preview area as the target composite image in response to the image compositing confirmation command, the method further includes: Upon receiving an image compositing confirmation request from the first terminal, the image compositing confirmation instruction is generated; The image compositing confirmation request is a request generated by the first terminal in response to the image compositing confirmation operation, and the first terminal is the image compositing control terminal among the at least two terminals.
7. The method according to claim 4, characterized in that, The step of performing image compositing processing on the currently displayed projection image in the image display area corresponding to each terminal to generate a preview image includes: Obtain the layer position information corresponding to the currently displayed projected image; Based on the layer position information, the currently displayed projection image is overlaid to generate the preview image.
8. An image processing method, characterized in that, The method includes: Display the image projection page; Receive image interactive editing operations triggered on the image projection page; During the process of receiving the image interactive editing operation, a projection image is sent to the second terminal so that the image interactive page corresponding to the second terminal displays the projection image and the composite image corresponding to the projection image. The composite image is an image obtained by combining the projection images sent by at least two terminals displayed on the image interaction page, and the projection images sent by at least two terminals include the projection images.
9. The method according to claim 8, characterized in that, The image projection page includes an image compositing confirmation option, which is permission information corresponding to the image compositing control terminal in the at least two terminals. The method further includes: Upon detecting a selection operation for the image compositing confirmation option, an image compositing confirmation request is sent to the second terminal; Receive a target synthesized image sent by the second terminal, the target synthesized image being used to characterize the result of interactive image editing; Display the target synthetic image.
10. An image processing apparatus, characterized in that, The device includes: An interactive page display module is used to display an interactive image page; the interactive image page includes an image display area corresponding to each of at least two terminals; The projection image display module is used to display the projection image sent by each terminal in the image display area corresponding to each terminal. The projection image is an image displayed by at least two terminals during the image interaction and editing process. The composite image display module is used to display a composite image based on the projected image in the image display area corresponding to each terminal. The composite image is an image obtained by image compositing processing of the projected image.
11. The apparatus according to claim 10, characterized in that, The screen projection image display module includes: an instruction receiving unit and an image updating unit; The instruction receiving unit is used to receive an image projection instruction, the image projection instruction including a terminal identifier corresponding to the instruction sending terminal; The image update unit is used to update the projection image displayed in the image display area corresponding to the terminal identifier to the projection image corresponding to the image projection command if the terminal identifier is the same as the terminal identifier corresponding to any terminal among the projection terminals. The projection terminal refers to the terminal that has already performed image projection display on the image interaction page.
12. An image processing apparatus, characterized in that, The device includes: The screen projection page display module is used to display the image projection page; The page operation receiving module is used to receive image interactive editing operations triggered on the image projection page; The screen projection image sending module is used to send a screen projection image to the second terminal during the process of receiving the image interactive editing operation, so that the image interactive page corresponding to the second terminal displays the screen projection image and the composite image corresponding to the screen projection image; The composite image is an image obtained by combining the projection images sent by at least two terminals displayed on the image interaction page, and the projection images sent by at least two terminals include the projection images.
13. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one instruction, at least one program, a code set, or an instruction set, the at least one instruction, the at least one program, the code set, or the instruction set being loaded and executed by the processor to implement the image processing method as described in any one of claims 1 to 9.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the image processing method as described in any one of claims 1 to 9.
15. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed by a processor, implement the image processing method as described in any one of claims 1 to 9.