Image processing method and electronic device
Patent Information
- Application Number
- PCT/CN2026/071040
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-28
- Filing Date
- 2026-01-07
- Publication Date
- 2026-10-01
Smart Images

Figure CN2026071040_01102026_PF_FP_ABST
Abstract
Description
Image processing methods and electronic devices
[0001] This application claims priority to Chinese Patent Application No. 202510404353.6, filed on March 28, 2025, entitled "Image Processing Method and Electronic Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of image processing, and more particularly to an image processing method and an electronic device. Background Technology
[0003] Currently, some third-party applications (APPs) do not support image downloading and require screenshots to capture images displayed in the APP. However, the screenshot image contains other image content from the terminal's display interface in addition to the original image information, which makes it impossible for the terminal to accurately determine the position of the image displayed in the APP within the screenshot. Summary of the Invention
[0004] This application provides an image processing method and an electronic device that can accurately locate the position of one image within another image.
[0005] In a first aspect, this application provides an image processing method that can be applied to a receiving end. The method includes: after the receiving end acquires a second image containing a first image, determining multiple positioning markers for the edge region of the first image, wherein the positioning markers can be at least one of multiple pixels with a preset pixel value, first steganographic information, or a first digital watermark; and the receiving end determines the position of the first image in the second image based on the multiple positioning markers. In the case that the second image includes the first image, the receiving end can determine the position of the first image in the second image based on the positioning markers in the first image.
[0006] In one possible implementation, during the process of determining the position of the first image in the second image based on multiple positioning markers, the receiving end detects the second image, determines the positions of the multiple positioning markers in the second image, and, based on the position of the first position in the first image, determines the position of the edge region of the first image in the second image, thereby determining the position of the first image in the second image. Based on this, the receiving end can determine the position of the edge region of the first image in the second image based on the positioning markers, thereby determining the position of the first image in the second image.
[0007] In one possible implementation, the difference between a preset pixel value and the pixel value of a first pixel is greater than a preset threshold. The first pixel is a pixel located outside the edge region of the first image in the second image. Because the difference between the preset pixel value and the pixel value outside the edge region of the first image is large, the receiving end can quickly detect the position of the edge region of the first image based on edge detection algorithms and other technologies, and then determine the position of the first image in the second image based on the position of the edge region of the first image.
[0008] In one possible implementation, the first image is the image that the sending end needs to send to the receiving end, and the second image is an image captured from the display interface of the receiving end when the first image is displayed. Based on this, the receiving end acquires the first image and displays it on the display interface. The edge region of the first image includes multiple positioning markers. The receiving end obtains the second image by taking a screenshot of the interface displaying the first image. The receiving end determines the edge region of the first image based on the multiple positioning markers in the edge region of the first image, and thus determines the position of the first image in the second image. Therefore, after acquiring the second image by taking a screenshot, the receiving end can accurately determine the position of the first image in the second image based on the positioning markers at the edges of the first image.
[0009] In one possible implementation, the preset pixel values include: a and / or 255-a, where a is a positive integer. The second image is an image obtained by filling at least one side of the first image with black and / or white borders. The multiple positioning identifiers include: multiple first pixels with pixel values of a, and / or multiple second pixels with pixel values of 255-a. Based on this, if the second image is an image obtained by filling the outer edge of the first image with black / white borders (such as an image captured during screenshotting, which is usually an image with black / white borders added to the outer edge of the original image), the pixel values of the edge region of the first image can be adjusted to a or 255-a, thereby making the pixel values of the edge region of the first image clearly distinguishable from the black / white borders of the outer edge of the original image. The receiving end can accurately locate the edge region of the first image based on the adjusted pixel values.
[0010] In one possible implementation, the first pixel includes: adjusting the pixel values of pixels with pixel values less than 'a' in the edge region of the third image to 'a'; the second pixel includes: adjusting the pixel values of pixels with pixel values greater than 255-a in the edge region of the third image to 255-a. Based on this, only the pixel values of pixels with pixel values less than 'a' in the edge region of the original image can be increased, while the pixel values of pixels with pixel values greater than 255-a can be decreased, thus making the edge region of the original image clearly distinguishable from the black / white borders in the screenshot image.
[0011] In one possible implementation, the first image is an image obtained by adding multiple positioning markers to the third image. In other words, the third image is the original image that the sender needs to send to the receiver. The sender obtains the first image by adding multiple positioning markers to the original image, thereby enabling the receiver to accurately locate the position of the first image in the second image based on the positioning markers.
[0012] In one possible implementation, the multiple positioning identifiers include multiple pixels with preset pixel values. The first image is a multi-channel image, where each single-channel image corresponds to a different pixel among the multiple pixels, and the preset pixel values for the pixels corresponding to different single-channel images are different. Based on this, when the first image is a multi-channel image, the pixels in each single-channel image can be set to the corresponding pixel values. Since the pixels in different single-channel images can be set to different pixel values, the edge regions of the first image can be color-distributed edge regions, and the receiving end can locate the edge regions of the first image based on the color of the edge regions.
[0013] In one possible implementation, the first image is a steganographic image. Based on this, when the sending and receiving ends transmit steganographic information based on the steganographic image, the position of the steganographic image in the screenshot can be accurately located based on the image processing method provided in this application, thereby accurately obtaining the steganographic information from the steganographic image.
[0014] In one possible implementation, the positioning identifiers include multiple pixels with preset pixel values in the second image. Determining the positions of these positioning identifiers in the second image involves the receiving end detecting the second image based on an edge detection algorithm to determine the edge regions of the first image. The positions of the edge regions of the first image in the second image include the positions of the multiple positioning identifiers. Therefore, when the positioning identifiers are set to preset pixel values for all or some pixels in the edge regions of the first image, the receiving end can detect the second image based on an edge detection algorithm to determine the positions of the edge regions of the first image in the second image.
[0015] In one possible implementation, the location identifier includes first steganographic information. Detecting the second image and determining the position of the location identifier in the second image includes: the receiving end detecting the second image based on an image steganography algorithm and determining the position of the first steganographic information in the second image. Therefore, when the location identifier is the first steganographic information, the receiving end can detect the location identifier in the second image using an image steganography algorithm, and then determine the position of the edge region of the first image in the second image based on the position of the location identifier.
[0016] In one possible implementation, the location identifier includes a first digital watermark. Detecting the second image and determining the position of the location identifier in the second image includes: the receiving end detecting the second image based on a digital watermarking algorithm and determining the position of the first digital watermark in the second image. Therefore, when the location identifier is the first digital watermark, the receiving end can detect the location identifier in the second image using a digital watermarking algorithm, and then determine the position of the edge region of the first image in the second image based on the position of the location identifier.
[0017] Secondly, this application provides an image processing method that can be applied to a receiving end. The method includes: acquiring a third image and sending a first image based on the third image. The first image is an image obtained by adding multiple positioning markers to the edge region of the third image. The multiple positioning markers include at least one of the following: multiple pixels with a preset pixel value, multiple image regions with first steganographic information, or multiple image regions with a first digital watermark.
[0018] In one possible implementation, the difference between the preset pixel value and the pixel value of the first pixel is greater than a preset threshold, and the first pixel is a pixel in the second image located outside the edge region of the first image.
[0019] In one possible implementation, the multiple positioning identifiers include multiple pixels with pixel values of preset pixel values, including: a and / or 255-a, where a is a positive integer. Adding multiple positioning identifiers at a first position in the third image includes: adjusting the pixel value of a first pixel in the third image to a, where the first pixel is located in the edge region of the third image and has a pixel value less than a; and / or adjusting the pixel value of a second pixel in the third image to 255-a, where the second pixel is located in the edge region of the third image and has a pixel value greater than 255-a.
[0020] In one possible implementation, the multiple positioning identifiers include multiple image regions containing the first steganographic information. Adding multiple positioning identifiers at a first position in the third image includes: steganographically writing the first steganographic information in multiple regions of the third image based on an image steganography algorithm.
[0021] In one possible implementation, the multiple positioning identifiers include multiple image regions containing a first digital watermark. Adding multiple positioning identifiers at a first position in the third image includes: adding the first digital watermark to multiple image regions based on a digital watermarking algorithm.
[0022] Thirdly, an electronic device is provided for implementing various methods. The electronic device includes modules, units, or means corresponding to the implementation of the methods, wherein the modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.
[0023] In some possible implementations, the electronic device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions in any of the above aspects and their possible implementations. The transceiver module may include a receiving module and a transmitting module, respectively used to implement the receiving and transmitting functions in any of the above aspects and their possible implementations.
[0024] In some possible implementations, the transceiver module can consist of transceiver circuits, transceivers, transceivers, or communication interfaces.
[0025] Fourthly, an electronic device is provided, comprising: a processor and a memory; the memory being used to store computer instructions that, when executed by the processor, cause the electronic device to perform the method described in any of the above aspects and any possible implementation thereof.
[0026] Fifthly, an electronic device is provided, comprising: a processor and a communication interface; the communication interface being used to communicate with a module outside the electronic device; the processor being used to execute computer programs or instructions to cause the electronic device to perform the methods described in any of the foregoing aspects and any possible implementation thereof.
[0027] A sixth aspect provides an electronic device comprising: at least one processor; said processor being configured to execute a computer program or instructions stored in a memory to cause the electronic device to perform the methods described in any of the foregoing aspects and any possible implementations thereof. The memory may be coupled to the processor, or may be independent of the processor.
[0028] In a seventh aspect, an electronic device (e.g., the electronic device may be a chip or a chip system) is provided, the electronic device including a processor for implementing the functions involved in any of the foregoing aspects and any possible implementation thereof.
[0029] In some possible implementations, the electronic device includes a memory for storing necessary program instructions and data.
[0030] In some possible implementations, when the device is a chip system, it can be composed of chips or may contain chips and other discrete components.
[0031] The electronic device described in the third to seventh aspects may be the receiving end in the first aspect, or a device included in the receiving end, such as a chip or chip system; or the electronic device may be the transmitting end in the second aspect, or a device included in the transmitting end, such as a chip or chip system.
[0032] Eighthly, an electronic device is provided, which may be a receiving end, or a module or unit (e.g., a chip, a chip system, or a circuit) in the receiving end that performs the methods / operations / steps / actions described in the first aspect, or a module or unit that can be used in conjunction with the receiving end; or, the electronic device may be a transmitting end, or a module or unit (e.g., a chip, a chip system, or a circuit) in the transmitting end that performs the methods / operations / steps / actions described in the second aspect, or a module or unit that can be used in conjunction with the transmitting end.
[0033] It is understandable that when the electronic device provided by any of the third to eighth aspects is a chip, the transmitting action / function of the electronic device can be understood as output information, and the receiving action / function of the electronic device can be understood as input information.
[0034] Ninthly, a computer-readable storage medium is provided that stores a computer program or instructions that, when executed on an electronic device, enable the electronic device to perform the methods described in any of the preceding aspects and any possible implementations thereof.
[0035] In a tenth aspect, a computer program product containing instructions is provided, which, when run on an electronic device, enables the electronic device to perform the methods described in any of the foregoing aspects and any possible implementation thereof.
[0036] Eleventhly, a communication system is provided, comprising a receiver and a transmitter. The receiver can be used to implement the method described in the first aspect and any possible implementation thereof, and the transmitter can be used to implement the method described in the second aspect and any possible implementation thereof.
[0037] The technical effects of any of the implementation methods in the second to eleventh aspects can be found in the technical effects of different implementation methods in the first aspect, and will not be repeated here. Attached Figure Description
[0038] Figure 1 is a flowchart illustrating a method for locating identifiers based on QR codes provided in an embodiment of this application;
[0039] Figure 2 is a schematic diagram of a color image digital watermarking algorithm suitable for QR codes provided in an embodiment of this application;
[0040] Figure 3 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application;
[0041] Figure 4 is a flowchart illustrating an image processing method provided in an embodiment of this application;
[0042] Figure 5 is a flowchart illustrating another image processing method provided in an embodiment of this application;
[0043] Figure 6 is a schematic diagram of a process in which a transmitting end and a receiving end transmit steganographic information based on the image processing method provided in this embodiment of the present application.
[0044] Figure 7 is a schematic diagram of adjusting the pixel values of RGB images to preset pixel values according to an embodiment of this application;
[0045] Figure 8 is a schematic diagram of the composition of an image processing device provided in an embodiment of this application;
[0046] Figure 9 is a schematic diagram of the structural composition of a chip system provided in an embodiment of this application. Detailed Implementation
[0047] In the description of this application, unless otherwise stated, " / " indicates that the objects before and after are in an "or" relationship. For example, A / B can mean A or B. "And / or" in this application is merely a description of the relationship between the related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. A and B can be singular or plural.
[0048] In the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0049] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.
[0050] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.
[0051] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, various embodiments throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0052] It is understood that in this application, "...when" and "if" both refer to the corresponding processing that will be carried out under certain objective circumstances, and are not limited to a specific time, nor do they require a judgment action to be performed during implementation, nor do they imply any other limitations.
[0053] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.
[0054] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, unless otherwise specified or there is a logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be mutually referenced. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following descriptions of the embodiments of this application do not constitute a limitation on the scope of protection of this application.
[0055] To facilitate understanding of the technical solutions of this application, before providing a detailed description of the method for acquiring depth images in the embodiments of this application, the technical terms mentioned in the embodiments of this application will be introduced first.
[0056] Joint Photographic Experts Group (JPEG) compression: A widely used lossy image compression standard that uses the visual characteristics of images to remove redundant information and performs frequency domain coding through discrete cosine transform (DCT) to reduce image file size.
[0057] Web picture format (WEBP) compression: A new image format that uses advanced lossy and lossless compression technologies, providing higher compression efficiency than JPEG, and supporting transparency and animation effects.
[0058] Color space: Defines a mathematical model for color representation that maps colors to a coordinate system, such as red, green, blue (RGB) or hue, saturation, and lightness (HSV), enabling digital images to express different colors.
[0059] Multichannel images: Multichannel images typically include RGB images and red-green-blue alpha (RGBA) images. An RGB image is composed of a three-dimensional array with an M×N×3 format. Alternatively, it can be understood as an RGB image consisting of three M×N two-dimensional images (grayscale images). These three images represent the R (red), G (green), and B (blue) components, respectively, with pixel values ranging from 0 to 255. An RGBA image is composed of a four-dimensional array with an M×N×4 format. An RGBA image adds an A (alpha) channel to the RGB image. Pixel values refer to the grayscale values of pixels in the image. Most images are 8-bit deep; therefore, pixel values typically range from 0 to 255.
[0060] Image binarization refers to setting the grayscale value of pixels in an image to 0 or 255 based on a threshold.
[0061] Image steganography: A technique that hides data within an image, often used for covert communication. It utilizes redundant parts or imperceptible changes in an image to conceal information. Common image steganography algorithms include Least Significant Bit (LSB) steganography, mean-modulated steganography, Discrete Wavelet Transform (DWT) steganography, and Discrete Cosmic Transform (DCT) steganography. LSB steganography embeds secret information by modifying the least significant bit of image pixels. Because the human eye is insensitive to color changes, this method can hide data without significantly altering the image's appearance. Mean Modulation: This technique hides information by embedding data into the mean of image patches, avoiding significant changes to the image content.
[0062] Human eye concealment: refers to the degree to which the information embedded in the data steganography process is not detectable by the human eye, which is usually achieved by controlling the impact of the embedded data on image quality.
[0063] Robustness: refers to the ability of steganography to resist noise, compression and other attacks, ensuring that hidden information can still be correctly decoded after the image has been processed.
[0064] Normalized correlation coefficient (NC) is a commonly used watermark quality evaluation index, used to measure the similarity between the extracted watermark and the original watermark.
[0065] After introducing the technical terms mentioned in the embodiments of this application, the relevant technologies will be introduced below.
[0066] Currently, some third-party apps do not support image downloading and require screenshots to capture images displayed in the app. However, the screenshots contain other image content besides the original image information, such as the app's interface, which makes it difficult for the device to accurately determine the position of the image displayed in the app within the screenshot.
[0067] A related technology provides a method for locating QR code markers, as shown in Figure 1. The color blocks on the horizontal line passing through the central black square of the QR code marker conform to a 1:1:3:1:1 ratio. Based on the found horizontal line, points conforming to this pattern are then identified on the vertical line. The default is to start from the vertical center point and sequentially search for points on both the top and bottom sides conforming to a 2:2:6:2:2 ratio. First, the image is binarized. Following the aforementioned pattern, six line segments that meet the requirements are selected. The K-Means clustering algorithm is used to divide all points into three sets, and their center points are calculated. Then, the cosine values of these three points are verified to be within a certain range, and the specific coordinates of the three points are determined. Finally, the coordinates of the outer frame points of the markers are found by the union of the three marker points. The selection principle is that the two points with the longest distance are the lower left and upper right vertices of the QR code quadrilateral, and the point that forms the largest area with the lower left and upper right vertices is the upper left vertex. The lower right corner is obtained by finding the intersection point of the extension lines of the lower left and upper right vertices. Finally, the coordinates of the QR code in the image region can be accurately obtained. In addition, there are similar schemes based on this approach that use multiple concentric ring-shaped positioning blocks for positioning. These schemes determine the center position of the ring-shaped positioning blocks by template matching and then determine the encoding area based on the positional relationship between the positioning blocks.
[0068] In the technical solution shown in Figure 1 above, the main QR code positioning marker is composed of color blocks with obvious color contrast, which can resist scaling attacks and accurately and quickly locate the encoded pattern, making it easy to quickly find the location of the encoded area. However, the human eye has low concealment when constructing the encoded pattern, and the cross-platform adaptability is low, resulting in a waste of computing resources and time. Therefore, this method affects the user experience.
[0069] A related technology also provides a color image digital watermarking algorithm suitable for quick response code (QR) codes, as shown in Figure 2. The watermark embedding process includes the following steps: (1) Perform Logistic and Arnold operations on the QR code to obtain a double-encrypted QR code; (2) Extract the luminance component map of Y in the YCbCr space of the color carrier image; (3) Perform DWT and DCT transformations on the luminance component map to obtain the DCT coefficient matrix; (4) Perform singular value decomposition on the DCT coefficient matrix to determine the algorithm formula; (5) Perform inverse DCT and inverse DWT transformations to complete singular value reconstruction and obtain the luminance component map of the embedded QR code; (6) Convert the luminance component map of the embedded QR code to the RGB space to finally obtain the color carrier image of the embedded QR code. The watermark extraction process is the reverse implementation of embedding steps (1) to (6). Experimental data shows that the algorithm can resist 10% JPEG image compression, strong changes in image brightness and contrast, 1 / 8 QR code cropping, 70° QR code rotation, and certain noise attacks. The PSNR values of the attacked color images are all above 30, and the extracted QR code NC values are all above 0.98 and clearly visible.
[0070] In the technical solution shown in Figure 2 above, DCT itself depends on the size and spatial structure of the image. When the image undergoes size changes (enlargement or reduction) during transmission, this technology faces problems such as DCT coefficient distortion, quantization and dequantization failure, and information loss, resulting in poor robustness of watermark information extraction. While it can resist channel scaling attacks and accurately and quickly locate the coded pattern, facilitating rapid discovery of the coded region, its low visibility to the human eye limits its effectiveness.
[0071] To address the aforementioned technical problems, this application provides an image processing method. When a sending end transmits an image to a receiving end, it adds positioning markers to the edge region of the image to obtain a first image. The sending end transmits the first image to the receiving end. After the receiving end obtains a second image containing the first image, it determines multiple positioning markers in the edge region of the first image. The positioning markers can be at least one of multiple pixels with a preset pixel value, first steganographic information, or a first digital watermark. Based on the multiple positioning markers, the receiving end determines the position of the first image in the second image. Since the second image includes the first image, the receiving end can determine the position of the first image in the second image based on the positioning markers in the first image.
[0072] The image processing method provided in this application can be applied to electronic devices. For example, the sending end and receiving end mentioned above can be electronic devices. Exemplary examples of electronic devices in this application can be tablet computers, mobile phones, desktop computers, laptops, handheld computers, notebook computers, ultra-mobile personal computers (UMPCs), netbooks, as well as cellular phones, personal digital assistants (PDAs), augmented reality (AR) / virtual reality (VR) devices, in-vehicle devices, etc. This application does not impose any special limitations on the specific form of the electronic device.
[0073] The image processing method provided in this application can be executed by an image processing device, which can be the electronic device shown in FIG3. Furthermore, the execution device can also be the central processing unit (CPU) of the electronic device, or the control module for image processing within the electronic device. This application uses an electronic device executing the image processing method as an example to illustrate the image processing method provided in this application embodiment.
[0074] Please refer to Figure 3. This application uses the mobile phone 200 shown in Figure 3 as an example to describe the electronic device provided in this application. The mobile phone 200 shown in Figure 3 is merely an example of an electronic device, and the mobile phone 200 may have more or fewer components than shown in the figure, may combine two or more components, or may have different component configurations. The various components shown in Figure 3 can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0075] As shown in Figure 3, the mobile phone 200 may include: a processor 210, an external memory interface 220, an internal memory 221, a universal serial bus (USB) interface 230, a charging management module 240, a power management module 241, a battery 242, an antenna 1, an antenna 2, a mobile communication module 250, a wireless communication module 260, an audio module 270, a speaker 270A, a receiver 270B, a microphone 270C, a headphone jack 270D, a sensor module 280, buttons 290, a motor 291, an indicator 292, a camera 293, a display screen 294, and a subscriber identification module (SIM) card interface 295, etc.
[0076] The aforementioned sensor module 280 may include sensors such as pressure sensors, gyroscope sensors, barometric pressure sensors, magnetic sensors, accelerometers, distance sensors, proximity sensors, fingerprint sensors, temperature sensors, touch sensors, ambient light sensors, and bone conduction sensors.
[0077] Processor 210 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, memory, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0078] The controller can serve as the nerve center and command center of the mobile phone 200. Based on the instruction operation code and timing signals, the controller can generate operation control signals to control the fetching and execution of instructions.
[0079] The processor 210 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 210 is a cache memory. This memory can store instructions or data that the processor 210 has just used or that are used repeatedly. If the processor 210 needs to use the instruction or data again, it can directly retrieve it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 210, and thus improves the efficiency of the system.
[0080] In some embodiments, the processor 210 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0081] It is understood that the interface connection relationships between the modules illustrated in this embodiment are merely illustrative and do not constitute a structural limitation on the mobile phone 200. In other embodiments, the mobile phone 200 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.
[0082] The charging management module 240 receives charging input from a charger, which can be a wireless charger or a wired charger. While charging the battery 242, the charging management module 240 can also supply power to the electronic device via the power management module 241.
[0083] The power management module 241 connects the battery 242, the charging management module 240, and the processor 210. The power management module 241 receives input from the battery 242 and / or the charging management module 240, and supplies power to the processor 210, internal memory 221, external memory, display 294, camera 293, and wireless communication module 260, etc. In some embodiments, the power management module 241 and the charging management module 240 may also be housed in the same device.
[0084] The wireless communication function of mobile phone 200 can be implemented through antenna 1, antenna 2, mobile communication module 250, wireless communication module 260, modem processor, and baseband processor. In some embodiments, antenna 1 of mobile phone 200 is coupled to mobile communication module 250, and antenna 2 is coupled to wireless communication module 260, enabling mobile phone 200 to communicate with networks and other devices via wireless communication technology. For example, in this embodiment, mobile phone 200 can send the aforementioned target data to other devices via wireless communication technology.
[0085] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in mobile phone 200 can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.
[0086] The mobile communication module 250 can provide solutions for wireless communication applications including 2G / 3G / 4G / 5G on the mobile phone 200. The mobile communication module 250 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 250 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation.
[0087] The mobile communication module 250 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via the antenna 1. In some embodiments, at least some functional modules of the mobile communication module 250 can be housed in the processor 210. In some embodiments, at least some functional modules of the mobile communication module 250 and at least some modules of the processor 210 can be housed in the same device.
[0088] The wireless communication module 260 can provide solutions for wireless communication applications on the mobile phone 200, including wireless local area networks (WLAN) (such as wireless fidelity, Wi-Fi), Bluetooth, global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. For example, in this embodiment, the mobile phone 200 can access a Wi-Fi network through the wireless communication module 260.
[0089] The wireless communication module 260 can be one or more devices integrating at least one communication processing module. The wireless communication module 260 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signal, and sends the processed signal to processor 210. The wireless communication module 260 can also receive signals to be transmitted from processor 210, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0090] The mobile phone 200 implements its display function through a GPU, a display screen 294, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 294 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. The processor 210 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0091] The display screen 294 is used to display images, videos, etc. The display screen 294 includes a display panel. For example, in this embodiment, the display screen 294 can be used to display the application interface of the first application described above, such as a device sharing interface, a device search interface, and a QR code scanning interface.
[0092] The mobile phone 200 can perform shooting functions through an ISP, camera 293, video codec, GPU, display 294, and application processor. The ISP is used to process data fed back by the camera 293. The camera 293 is used to capture still images or videos. In some embodiments, the mobile phone 200 may include one or N cameras 293, where N is a positive integer greater than 1.
[0093] The external storage interface 220 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 200. The external memory card communicates with the processor 210 through the external storage interface 220 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0094] Internal memory 221 can be used to store computer executable program code, which includes instructions. Processor 210 executes various functional applications and data processing of mobile phone 200 by running the instructions stored in internal memory 221. For example, in this embodiment, processor 210 can execute instructions stored in internal memory 221, which may include a program storage area and a data storage area.
[0095] The program storage area can store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.). The data storage area can store data created during the use of the mobile phone 200 (such as audio data, phonebook, etc.). In addition, the internal memory 221 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0096] The mobile phone 200 can perform audio functions, such as music playback and recording, through an audio module 270, a speaker 270A, a receiver 270B, a microphone 270C, a headphone jack 270D, and an application processor.
[0097] Buttons 290 include a power button, volume buttons, etc. Buttons 290 can be mechanical buttons or touch buttons. Motor 291 can generate vibration alerts. Motor 291 can be used for incoming call vibration alerts or for touch vibration feedback. Indicator 292 can be an indicator light, used to indicate charging status, battery level changes, messages, missed calls, notifications, etc. SIM card interface 295 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 295 to achieve contact and separation with the mobile phone 200. The mobile phone 200 can support one or N SIM card interfaces, where N is a positive integer greater than 1. SIM card interface 295 can support Nano SIM cards, Micro SIM cards, SIM cards, etc.
[0098] Although not shown in Figure 3, the mobile phone 200 may also include a flash, a micro-projection device, a near field communication (NFC) device, etc., which will not be described in detail here.
[0099] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the mobile phone 200. In other embodiments, the mobile phone 200 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0100] After describing the hardware structure of the electronic device, this application uses a mobile phone 200 as an example to introduce the system architecture of the electronic device provided in this application. The system architecture of the mobile phone 200 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This embodiment of the invention uses a layered architecture... Taking the system as an example, the software structure of mobile phone 200 is illustrated.
[0101] The methods described in the following embodiments can all be implemented in electronic devices having the above-described hardware structure and system architecture. The following embodiments use a mobile phone 200 as an example to illustrate the methods of this application.
[0102] This application provides an image processing method, as shown in FIG4, which may include steps 401-404.
[0103] Step 401: The sending end obtains the third image.
[0104] In some embodiments, the third image is the image that the sender needs to send to the receiver. Optionally, the third image is a steganographic image, in which steganographic information that the sender needs to send to the receiver is hidden. Taking a webpage link as an example, when the sender needs to share a webpage with the receiver, it obtains the link address information of the webpage and writes the link address information into the image to be sent to obtain the third image. In this way, after receiving the third image, the receiver can decode the steganographic link address information from the third image and then jump to the webpage shared by the sender based on the link address information. It should be noted that the third image can also be other images besides steganographic images, and this application does not limit this.
[0105] Step 402: The sending end sends the first image to the receiving end based on the third image. Correspondingly, the receiving end receives the first image from the sending end.
[0106] The first image is an image obtained by adding multiple positioning markers to the edge region of the third image. The multiple positioning markers include at least one of the following: multiple pixels with a preset pixel value, first steganographic information, or first digital watermark.
[0107] In some embodiments, after the sending end obtains the third image, it adds multiple positioning markers to the edge region of the third image to obtain the first image, and then sends the first image to the receiving end.
[0108] As one implementation, the process of adding multiple positioning markers to the edge region of the third image by the transmitting end includes at least one of the following: the transmitting end adjusts the pixel values of multiple pixels in the edge region of the third image to preset pixel values; or, the transmitting end inserts one or more first steganographic information points in the edge region of the third image; or the transmitting end inserts one or more first digital watermarks in the edge region of the third image. In this way, the receiving end can locate the edge region of the first image based on multiple pixels in the edge region of the third image whose pixel values are preset pixel values, the first steganographic information, and / or the first digital watermarks.
[0109] Optionally, when multiple positioning identifiers include multiple pixels with preset pixel values, the preset pixel values are pixel values whose difference from the pixel value of a first pixel is greater than a preset threshold. The first pixel is a pixel in the second image located outside the edge region of the first image. In other words, the transmitting end adjusts the pixel values of multiple pixels in the edge region of the image to make the difference between them and the pixel values outside the first image larger, so that the receiving end can accurately detect the edge region of the first image based on image edge detection and other methods.
[0110] It is understandable that if the third image is a steganalyte, the first image obtained by adding a positioning marker to the third image will also be a steganalyte.
[0111] It should be noted that when the location markers are steganographic information or digital watermarks, at least three location markers are typically added to the image edge area to ensure positioning accuracy. In actual implementation, to ensure a certain degree of redundancy, the number of steganographic information or digital watermarks added is usually greater than three.
[0112] Step 403: The receiving end acquires a second image containing the first image, wherein the edge region of the first image includes multiple positioning markers.
[0113] In some implementations, after receiving the first image, the receiving end cannot directly acquire it. Instead, it first acquires a second image that includes the first image, and then extracts the first image from the second image. For example, the receiving end may acquire the second image that includes the first image by taking a screenshot after displaying the first image, or the application on the receiving end may fill the first image with black / white borders to obtain the second image. In this case, the receiving end needs to locate the first image in the second image so that it can accurately acquire the first image within the second image.
[0114] Optionally, the first image is the image that the sending end needs to send to the receiving end, and the second image is an image captured from the receiving end's display interface when the first image is displayed. In this case, the sending end sends the first image to the receiving end through a third-party app. The third-party app does not support image downloading (e.g., it can only cache images). After caching the first image, the third-party app can display it in its interface for user preview. However, since the receiving end only caches the first image and does not save it locally, it cannot further process the first image. For example, if the first image is a steganographic image, the receiving end cannot decode the steganographic information in the first image to obtain it. In this case, the receiving end captures the first image currently displayed by the third-party app to obtain the second image, locates the first image, and then decodes it based on its location to obtain the steganographic information.
[0115] As an example, the preset pixel values include: 'a' and / or 255-a, where 'a' is a positive integer; the second image is an image obtained by filling at least one side of the first image with black and / or white borders, and the multiple positioning identifiers include: multiple first pixel points with pixel values of 'a', and / or multiple second pixel points with pixel values of 255-a. Optionally, the first pixel point includes: a pixel point whose pixel value is less than 'a' in the edge region of the third image is adjusted to 'a', and the second pixel point includes: a pixel point whose pixel value is greater than 255-a in the edge region of the third image is adjusted to 255-a.
[0116] In other words, during the process of generating the first image based on the third image, the transmitting end adjusts the pixel value of the first pixel in the third image to 'a'. The first pixel is located in the edge region of the third image and has a pixel value less than 'a'. And / or, the transmitting end adjusts the pixel value of the second pixel in the third image to 255-a. The second pixel is located in the edge region of the third image and has a pixel value greater than 255-a. Thus, the edge region of the first image consists entirely of pixels greater than or equal to 'a' and less than or equal to 255-a. If the outer edge of the first image's edge region is a black / white border, then the edge region of the first image will have a significant difference from the outer edge of the first image's edge region. In this case, the receiving end can accurately locate the edge region of the first image based on the image edge detection algorithm.
[0117] Step 404: The receiving end determines the position of the first image in the second image based on multiple positioning identifiers.
[0118] In some implementations, the receiving end detects the second image to determine the positions of multiple positioning markers relative to the second image. The receiving end uses the positions of the positioning markers relative to the second image as the positions of the edge regions of the first image within the second image. Based on this, the receiving end can accurately determine the position of the first image within the second image based on the multiple positioning markers.
[0119] This application provides an image processing method. When a sending end sends an image to a receiving end, it adds positioning markers to the edge region of the image to obtain a first image. The sending end sends the first image to the receiving end. After the receiving end obtains a second image containing the first image, it determines multiple positioning markers in the edge region of the first image. The positioning markers can be at least one of multiple pixels with a preset pixel value, first steganographic information, or a first digital watermark. Based on the multiple positioning markers, the receiving end determines the position of the first image in the second image. Since the second image includes the first image, the receiving end can determine the position of the first image in the second image based on the positioning markers in the first image.
[0120] In one possible implementation, referring to Figure 4 and as shown in Figure 5, step 404 can be specifically implemented through the following steps 501 and 502.
[0121] Step 501: The receiving end detects the second image and determines the positions of the plurality of positioning markers in the second image.
[0122] In this embodiment, the positioning identifier can be in various forms, such as pixels, steganographic information, or digital watermarks. For different types of positioning identifiers, the receiving end can use different methods to determine the position in the second image. The following is a detailed description:
[0123] Method 1: For pixel-type positioning identifiers, since the pixel values of pixels in the edge region of the first image differ significantly from those outside the edge region, the receiving end can use edge detection to determine the edge region of the first image. Based on this, when the positioning identifier sets the pixel values of all or some pixels in the edge region of the first image to preset pixel values, the receiving end can detect the second image based on an edge detection algorithm to determine the position of the edge region of the first image in the second image.
[0124] Method 2: For the location identifier of the steganographic information type, the receiving end can use a corresponding image steganography algorithm to decode the steganographic information in the second image to determine the position of the steganographic information in the second image, and then determine the position of the edge region of the first image in the second image based on the position of the steganographic information. Therefore, when the location identifier is the first steganographic information, the receiving end can detect the location identifier in the second image using an image steganography algorithm, and then determine the position of the edge region of the first image in the second image based on the position of the location identifier. The image steganography algorithm involved in this embodiment can be LSB steganography, spatial mean steganography, DCT steganography, DWT steganography, etc., and this application does not limit it to any particular algorithm.
[0125] Method 3: For location markers of the digital watermark type, the receiving end can use a digital watermarking algorithm to detect the position of the digital watermark in the second image, and then determine the position of the edge region of the first image in the second image. Based on this, when the location marker is the first digital watermark, the receiving end can use a digital watermarking algorithm to detect the location marker in the second image, and then determine the position of the edge region of the first image in the second image based on the position of the location marker.
[0126] It should be noted that when the transmitting end adds positioning markers to the edge region of the first image, it can combine multiple positioning markers to achieve more accurate positioning. In other words, the receiving end can combine one or more of the methods 1, 2, and 3 mentioned above to locate the first image. For example, the transmitting end adds pixels with preset pixel values and at least three pieces of steganographic information to the edge region of the first image to locate the first image. In this way, after acquiring the second image, the receiving end first performs binarization thresholding processing on the image based on the edge detection algorithm to obtain the contour of the edge region of the first image. After that, the receiving end decodes the edge region of the first image based on the image steganography algorithm to obtain the steganographic information of the edge region of the first image, and the receiving end accurately locates the first image based on the position of the steganographic information of the edge region of the first image.
[0127] Step 502: The receiving end determines the position of the edge region of the first image in the second image based on the positions of multiple positioning markers in the second image.
[0128] In some embodiments, the receiving end may use the position of the edge region of the first image in the second image as the position of the first image in the second image, and this application does not limit this.
[0129] In this embodiment, the edge region of the first image can be a region with a preset width among one or more sides of the first image. For example, the edge region of the first image can have a width between 1 pixel width and 20% of the image width. The sending end or receiving end can select the width of the edge region of the first image according to actual needs, and this application does not limit it.
[0130] The image processing method provided in this application can be applied to scenarios where a sending end and a receiving end transmit steganographic information. Figure 6 illustrates the process of the sending end and the receiving end transmitting steganographic information based on the image processing method provided in this application. As shown in Figure 6, the sending end acquires a third image and adds multiple positioning markers (such as multiple pixels with preset pixel values and / or at least three steganographic information and / or at least three digital watermarks) to the edge area of the third image. The sending end acquires the link address of the webpage to be sent and writes the link address into the third image to generate a first image. The sending end sends the first image to the receiving end through a third-party APP. The receiving end previews the first image in the third-party APP and obtains a second image through a screenshot operation. After that, the receiving end determines the position of the first image in the second image based on the positioning markers and decodes the link address from the first image based on the image steganography algorithm. The receiving end then jumps to the webpage corresponding to the link address.
[0131] In this embodiment of the application, when multiple positioning identifiers include multiple pixels with a preset pixel value, if the first image is a single-channel image, the multiple pixels in the edge region of the first image can correspond to a fixed preset pixel value. For example, the preset pixel value corresponding to a pixel with a pixel value less than a is a, and the preset pixel value corresponding to a pixel with a pixel value greater than 255-a is 255-a.
[0132] If the first image is a multi-channel image, and the multiple positioning markers include multiple pixels with preset pixel values, then each single-channel image in the multi-channel image corresponds to different pixels among the multiple pixels, and the preset pixel values for the pixels corresponding to different single-channel images are different. Adjusting the pixels in the edge regions of each single-channel image to pixels with different pixel values allows the edge regions of the multi-channel image to exhibit a certain regular color distribution. The receiving end can determine the edge regions of the first image based on this color distribution of the edge regions.
[0133] Alternatively, the pixels in the edge region of each single-channel image in a multi-channel image can be adjusted to the aforementioned fixed preset pixel values. For example, the preset pixel value corresponding to the pixel value less than a in the edge region of each single-channel image is a, and the preset pixel value corresponding to the pixel value greater than 255-a is 255-a.
[0134] Alternatively, the edge regions of a multi-channel image may correspond to multiple preset pixel values, each preset pixel value corresponding to a different pixel color. In other words, when the third image is a multi-channel image, the transmitting end modifies the edge regions of each single-channel image in the multi-channel image to the corresponding preset pixel values to obtain color-distributed edge regions. The receiving end can determine the edge regions of the first image based on these color-distributed edge regions.
[0135] As an example, as shown in Figure 7, taking a multi-channel RGB image as an example, the pixel values of the pixels in the edge region of the third image are all (255, 255, 255), which are pure white pixels. The transmitting end modifies the pixels in the edge region of the third image to three different pixel values: (252, 255, 255), (255, 252, 255), and (255, 255, 252). At this time, the color of these pixels is still close to white, making them difficult for the human eye to distinguish and providing good concealment. However, the receiving end can accurately detect the edge region of the third image based on image edge detection technology.
[0136] The foregoing primarily describes the solutions provided in the embodiments of this application from the perspective of electronic devices. It is understood that, in order to achieve the aforementioned functions, the electronic device includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, based on the image processing method steps described in conjunction with the embodiments disclosed in this application, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by software-driven hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0137] This application embodiment can divide the image processing device into functional modules or functional units according to the above method examples. For example, each function can be divided into its own functional modules or functional units, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or in software functional modules or functional units. The module or unit division in this application embodiment is illustrative and represents only one logical functional division; other division methods may be used in actual implementation.
[0138] Please refer to Figure 8, which shows a schematic diagram of an image processing apparatus provided in an embodiment of this application. This image processing apparatus can be a functional module in the aforementioned electronic device (such as mobile phone 200) used to implement the method of the embodiment of this application. As shown in Figure 8, the image processing apparatus may include: a processing module 801 and a transceiver module 802.
[0139] The processing module 801 supports the mobile phone 200 in performing the following functions: obtaining a third image from the sending end, generating a first image based on the steganographic information in the third image and adding multiple location markers. For example, the processing module 801 is used to support the mobile phone 200 in performing steps 401 or 402 in the above method embodiments, and / or other processes used in the technology described herein.
[0140] Alternatively, the processing module 801 may support the mobile phone 200 in performing the following functions: acquiring the second image by the receiving end, locating the first image in the second image by the receiving end, and decoding steganographic information from the first image by the receiving end. For example, the processing module 801 may be used to support the mobile phone 200 in performing steps 403, 404, 601, 501, or 502 in the above method embodiments, and / or other processes used in the technology described herein.
[0141] For example, the functions of the processing module 801 can be implemented by the microphone 270C, camera 293 and processor 210 of the mobile phone 200.
[0142] The transceiver module 802 is used to perform the transceiver function between the sending end or the receiving end, such as step 402 in the above method embodiment.
[0143] Other embodiments of this application provide an electronic device (such as the mobile phone 200 shown in FIG3). The electronic device may include a memory and one or more processors. The memory and processors are coupled. The electronic device may also include a camera. Alternatively, the electronic device may have an external camera. The memory stores computer program code, which includes computer instructions. When the processor executes the computer instructions, the electronic device can perform various functions or steps performed by the mobile phone in the above method embodiments. The structure of the electronic device can be referenced to the structure of the mobile phone 200 shown in FIG3.
[0144] This application also provides a chip system, as shown in FIG9, which includes at least one processor 901 and at least one interface circuit 902. The processor 901 and the interface circuit 902 are interconnected via lines. For example, the interface circuit 902 can be used to receive signals from other devices (e.g., the memory of an electronic device). As another example, the interface circuit 902 can be used to send signals to other devices (e.g., the processor 901). Exemplarily, the interface circuit 902 can read instructions stored in the memory and send the instructions to the processor 901. When the instructions are executed by the processor 901, the electronic device (e.g., the mobile phone 200 shown in FIG3) can perform the various steps in the above embodiments. Of course, the chip system may also include other discrete components, which are not specifically limited in this application.
[0145] This application also provides a computer-readable storage medium including computer instructions that, when executed on the electronic device (the mobile phone 200 shown in FIG3), cause the electronic device to perform various functions or steps performed by the mobile phone in the above method embodiment.
[0146] This application also provides a computer program product that, when run on a computer, causes the computer to perform the various functions or steps performed by the mobile phone in the above method embodiments.
[0147] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. 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.
[0148] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0149] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0150] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0151] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially or in other words, the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0152] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. An image processing method, characterized by, Applied to the receiving end, the method includes: Obtain a second image containing the first image. The edge region of the first image includes multiple positioning markers, and the multiple positioning markers include at least one of the following: multiple pixels with pixel values of preset pixel values, first steganographic information, or a first digital watermark. Based on the multiple location identifiers, the position of the first image in the second image is determined.
2. The method of claim 1, wherein, Determining the position of the first image in the second image based on the plurality of positioning identifiers includes: Detect the second image and determine the positions of the plurality of positioning markers within the second image. Based on the positions of multiple location markers in the second image, the position of the edge region of the first image in the second image is determined.
3. The method according to claim 1 or 2, characterized in that, The difference between the preset pixel value and the pixel value of the first pixel is greater than a preset threshold, and the first pixel is a pixel in the second image located outside the edge region of the first image.
4. The method according to any one of claims 1-3, characterized in that, The first image is the image that the sending end needs to send to the receiving end, and the second image is an image captured from the display interface of the receiving end when the first image is displayed.
5. The method of claim 4, wherein, The preset pixel value includes: a and / or 255-a, where a is a positive integer. The second image is an image obtained by filling at least one side of the first image with a black border and / or a white border. The plurality of positioning identifiers include: a plurality of first pixel points with a pixel value of a, and / or a plurality of second pixel points with a pixel value of 255-a.
6. The method according to claim 5, characterized in that, The first pixel includes: pixels in the edge region of the third image whose pixel value is less than a are adjusted to a. The second pixel includes: the pixel value of the pixel in the edge region of the third image that is greater than 255-a, which is then adjusted to 255-a.
7. The method according to claim 6, characterized in that, The first image is an image obtained by adding the plurality of positioning markers to the third image.
8. The method according to any one of claims 1-4, characterized in that, The plurality of positioning identifiers include a plurality of pixels with a preset pixel value. The first image is a multi-channel image. Each single-channel image in the multi-channel image corresponds to a different pixel among the plurality of pixels. The preset pixel values of the pixels corresponding to different single-channel images are different.
9. The method according to any one of claims 1-8, characterized in that, The first image is a steganalytic image.
10. An image processing method characterized by, Applied to the sending end, the method includes: Obtain the third image. Based on the third image, a first image is sent, wherein the first image is an image obtained by adding multiple positioning identifiers to the edge region of the third image, and the multiple positioning identifiers include at least one of the following: multiple pixels with a pixel value of a preset pixel value, first steganographic information, or a first digital watermark.
11. The method according to claim 10, characterized in that, The difference between the preset pixel value and the pixel value of the first pixel is greater than a preset threshold, and the first pixel is a pixel in the second image located outside the edge region of the first image.
12. The method of claim 11, wherein, The plurality of positioning identifiers include a plurality of pixels with pixel values of preset pixel values, wherein the preset pixel values include: a and / or 255-a, where a is a positive integer. The addition of multiple positioning markers at the first position of the third image includes: The pixel value of the first pixel in the third image is adjusted to 'a'. The first pixel is a pixel located in the edge region of the third image with a pixel value less than 'a'. And / or, adjust the pixel value of the second pixel in the third image to 255-a, where the second pixel is a pixel located in the edge region of the third image and has a pixel value greater than 255-a.
13. An image processing apparatus characterized by comprising: include: A functional unit for performing the method as described in any one of claims 1-12; wherein the action performed by the functional unit is implemented by hardware or by hardware executing corresponding software.
14. An image processing apparatus characterized by comprising: include: processor; The processor is connected to a memory for storing computer execution instructions, and the processor executes the computer execution instructions stored in the memory to enable the image processing apparatus to implement the method as described in any one of claims 1-12.
15. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1-12.
16. A chip, characterized by The chip includes a processor; the processor is connected to a memory for storing computer execution instructions, and the processor executes the computer execution instructions stored in the memory to enable the image processing device to implement the method as described in any one of claims 1-12.
17. A computer program product comprising instructions, characterized in that, When it is operated on an image processing device, the image processing device enables the method as described in any one of claims 1-12.