Slip verification method, image generation method, device, equipment and storage medium
By displaying misaligned cut sub-images and responding to sliding actions to align them, the sliding CAPTCHA method solves the problem of existing slider CAPTCHAs being easily cracked, thus improving security and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGZHOU KUGOU COMP TECH CO LTD
- Filing Date
- 2022-08-08
- Publication Date
- 2026-05-12
AI Technical Summary
Existing slider CAPTCHAs are easily cracked by computer programs using color-picking scanning technology, leading to a decrease in the security of human-machine verification.
The first and second sub-images with misaligned image content are used, and they are aligned by sliding to complete the verification. The boundaries of the sub-images are relatively hidden, making it difficult to predict their positional relationship using color picking technology.
This increases the difficulty and cost of cracking sliding verification codes, enhances the security of sliding verification, and improves the user experience.
Smart Images

Figure CN115552400B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of computer and Internet technology, and in particular to a sliding verification method, an image generation method, an apparatus, a device, and a storage medium. Background Technology
[0002] In common internet business scenarios, such as login, registration, and events, human verification is usually performed first using a slider CAPTCHA.
[0003] The slider CAPTCHA displays a background image and a slider puzzle. The slider puzzle is a portion of the background image at the gap location, and its initial display position is anywhere in the background image except for the gap location. The user slides the slider puzzle to connect it to the gap location in the background image. When the slider puzzle's sliding position is close to the gap location in the background image, the user passes the CAPTCHA verification.
[0004] However, slider CAPTCHAs are easily cracked using color-picking scanning technology in computer programs. For example, a computer program can directly perform color-picking scanning along the X and Y axes, scan out continuous color dots, determine the gap position, and then calculate the sliding distance required for the slider puzzle. Summary of the Invention
[0005] This application provides a sliding verification method, an image generation method, an apparatus, a device, and a storage medium. The technical solution is as follows:
[0006] According to one aspect of this application, a sliding verification method is provided, the method being executed by a terminal, the method comprising:
[0007] The first and second cut sub-images show misaligned image content; the image content of the first and second cut sub-images corresponds to the two image contents cut out by the cutting lines of the verification image.
[0008] In response to a sliding operation, control the first and / or second cut sub-images to slide; and if the image content is aligned, determine that the verification is successful.
[0009] According to another aspect of this application, a sliding verification method is provided, the method being executed by a first server, the method comprising:
[0010] Send a first and a second segmented image with misaligned image content to the terminal; the image content of the first and the second segmented image corresponds to the two image contents of the verification image cut out by the cutting lines.
[0011] The terminal sends sliding distance information, which is related to the relative sliding distance between the first cut sub-image and / or the second cut sub-image.
[0012] If the image content alignment is determined based on the sliding distance information, the verification is considered successful.
[0013] According to another aspect of this application, an image generation method is provided, the method being executed by a second server, the method comprising:
[0014] Obtain the verification image;
[0015] Based on the cutting lines, two image contents are cut out of the verification image to obtain a first cut sub-image and a second cut sub-image.
[0016] Generate a first and a second cut sub-image with misaligned image content.
[0017] According to another aspect of this application, a sliding verification device is provided, the device comprising:
[0018] The display module is used to display a first and a second segmented image whose image content is not aligned; the image content of the first and the second segmented image corresponds to the two image contents cut out by the cutting lines of the verification image.
[0019] The processing module is configured to control the first and / or second cut sub-images to slide in response to a sliding operation; and to determine that the verification is successful if the image content is aligned.
[0020] According to another aspect of this application, a sliding verification device is provided, the device comprising:
[0021] The sending module is used to send a first and a second segmented image with misaligned image content to the terminal; the image content of the first and the second segmented image corresponds to the two image contents cut out by the cutting lines of the verification image.
[0022] A receiving module is configured to receive sliding distance information sent by the terminal, wherein the sliding distance information is related to the relative sliding distance of the first cutting sub-image and / or the second cutting sub-image;
[0023] The verification module is used to determine that the verification is successful if the image content alignment is determined based on the sliding distance information.
[0024] According to another aspect of this application, an image generation apparatus is provided, the apparatus comprising:
[0025] The acquisition module is used to acquire the verification image;
[0026] The cutting module is used to cut two image contents from the verification image based on cutting lines to obtain a first cut sub-image and a second cut sub-image.
[0027] The generation module is used to generate a first and a second cut sub-image where the image content is not aligned.
[0028] According to another aspect of this application, a terminal is provided, the terminal including a processor and a memory, the memory storing at least one piece of program code, the at least one piece of program code being loaded and executed by the processor to implement the above-described sliding verification method.
[0029] According to another aspect of this application, a server is provided, the server including a processor and a memory, the memory storing at least one piece of program code, the at least one piece of program code being loaded and executed by the processor to implement the above-described sliding verification method; or, to implement the above-described image generation method.
[0030] According to another aspect of this application, a computer-readable storage medium is provided, wherein executable instructions are stored in the computer-readable storage medium, the executable instructions being loaded and executed by a processor to implement the above-described sliding verification method; or, to implement the above-described image generation method.
[0031] According to another aspect of this application, a computer program product is provided, the computer program product including computer instructions stored in a computer-readable storage medium, the computer instructions being loaded and executed by a processor to implement the above-described sliding verification method; or, to implement the above-described image generation method.
[0032] The technical solutions provided in this application have at least the following beneficial effects:
[0033] In this embodiment, a first and second segmented sub-images with misaligned image content are displayed, and in response to a sliding operation, the first and / or second segmented sub-images are controlled to slide. If the image content is aligned, the verification is confirmed as successful. This embodiment provides a novel sliding CAPTCHA and its sliding verification method. Because the boundaries between the two segmented sub-images are relatively hidden, it is difficult to predict their relative positions using color picking technology. This sliding CAPTCHA is difficult and costly to crack, effectively improving the security of sliding verification and also enhancing the user experience to some extent. Attached Figure Description
[0034] 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.
[0035] Figure 1 This is a schematic diagram of a graphic verification code in the related technology provided in one embodiment of this application;
[0036] Figure 2 This is a schematic diagram of a slider verification code in the related technology provided in one embodiment of this application;
[0037] Figure 3 This is a schematic diagram of the implementation environment of the sliding verification method provided in one embodiment of this application;
[0038] Figure 4 This is a schematic diagram of the implementation environment of the sliding verification method provided in one embodiment of this application;
[0039] Figure 5 This is a flowchart of a sliding verification method provided in one embodiment of this application;
[0040] Figure 6 This is a schematic diagram of the interface of a sliding verification method provided in one embodiment of this application;
[0041] Figure 7 This is a schematic diagram of the interface of a sliding verification method provided in one embodiment of this application;
[0042] Figure 8 This is a schematic diagram of the interface of a sliding verification method provided in one embodiment of this application;
[0043] Figure 9 This is a schematic diagram of the interface of a sliding verification method provided in one embodiment of this application;
[0044] Figure 10 This is a flowchart of a sliding verification method provided in one embodiment of this application;
[0045] Figure 11 This is a flowchart of a sliding verification method provided in one embodiment of this application;
[0046] Figure 12 This is a flowchart of a sliding verification method provided in one embodiment of this application;
[0047] Figure 13 This is a flowchart of a sliding verification method provided in one embodiment of this application;
[0048] Figure 14This is a flowchart of a sliding verification method provided in one embodiment of this application;
[0049] Figure 15 This is a schematic diagram of the interface of a sliding verification method provided in one embodiment of this application;
[0050] Figure 16 This is a flowchart of a sliding verification method provided in one embodiment of this application;
[0051] Figure 17 This is a flowchart of an image generation method provided in one embodiment of this application;
[0052] Figure 18 This is a flowchart of an image generation method provided in one embodiment of this application;
[0053] Figure 19 This is a flowchart of an image generation method provided in one embodiment of this application;
[0054] Figure 20 This is a flowchart of an image generation method provided in one embodiment of this application;
[0055] Figure 21 This is a flowchart of an image generation method provided in one embodiment of this application;
[0056] Figure 22 This is a flowchart of an image generation method provided in one embodiment of this application;
[0057] Figure 23 This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0058] Figure 24 This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0059] Figure 25 This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0060] Figure 26 This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0061] Figure 27 This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0062] Figure 28 This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0063] Figure 29 This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0064] Figure 30This is a schematic diagram of an image generation method provided in one embodiment of this application;
[0065] Figure 31 This is a flowchart of an image generation method provided in one embodiment of this application;
[0066] Figure 32 This is a structural block diagram of a sliding verification device provided in one embodiment of this application;
[0067] Figure 33 This is a structural block diagram of a sliding verification device provided in one embodiment of this application;
[0068] Figure 34 This is a structural block diagram of an image generation apparatus provided in one embodiment of this application;
[0069] Figure 35 This is a structural block diagram of a terminal provided in one embodiment of this application;
[0070] Figure 36 This is a structural block diagram of a server provided in one embodiment of this application. Detailed Implementation
[0071] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. Exemplary embodiments will be described in detail here, examples of which are illustrated in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0072] The terminology used in this application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The singular forms “a,” “the,” and “the” used in this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more of the associated listed items.
[0073] It should be understood that although the terms first, second, third, etc., may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."
[0074] In related technologies, CAPTCHAs include image-text CAPTCHAs and slider CAPTCHAs. Figure 1 The diagram illustrates a graphic verification code in related technologies. This code includes letters and characters; verification is successful when the entered text matches the text in the code within a designated area. However, this type of graphic verification code is easily cracked using Optical Character Recognition (OCR) technology. Figure 2 The diagram illustrates a slider CAPTCHA in related technologies. The slider CAPTCHA includes a slider puzzle A and a background image with a gap B. The image content of slider puzzle A is a portion of the background image (gap B), and the initial display position of slider puzzle A is any position in the background image except for the gap B. This background image with gap B is generated using an image mask. An image mask refers to using a specific image, graphic, or object to occlude all or part of the background image. For example, a mask graphic like slider puzzle A can be used to partially occlude the background image to generate the background image with gap B. The user slides slider puzzle A to connect it to gap B. When the position of slider puzzle A is close to the position of gap B, the human-computer verification is successful. However, in this type of slider CAPTCHA, the slider puzzle A and the gap B are symmetrical vertically or horizontally, and the corresponding points of the two are equidistant. The computer program can perform color scanning in the X and Y axes, scan out continuous color points, determine the center of gap B, and calculate the sliding distance required for the slider puzzle A to slide to gap B, making it easy to crack.
[0075] Based on the above issues, Figure 3 A schematic diagram of an implementation environment for a sliding verification method provided in an exemplary embodiment of this application is shown. This implementation environment can be implemented as a system architecture for the sliding verification method. The implementation environment may include a terminal 100 and a server 200, which may also be referred to as a first server.
[0076] Terminal 100 can be an electronic device such as a mobile phone, tablet computer, vehicle terminal (vehicle system), wearable device, PC (Personal Computer), or unmanned reservation terminal. A client application for the target application can be installed and run on terminal 100. This target application can be an application requiring swipe verification, or other applications providing swipe verification functionality; this application does not limit the specific form of the target application. Furthermore, this application does not limit the form of the target application, including but not limited to Apps (Applications), mini-programs, etc., installed on terminal 100, and can also be in web page form.
[0077] Server 200 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services such as cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and basic cloud computing services such as big data and artificial intelligence platforms. Server 200 can be a backend server for the aforementioned target application, used to provide backend services to the clients of the target application.
[0078] by Figure 3 Taking the implementation environment shown as an example, it can be executed by the interaction and cooperation of terminal 100 and server 200. For example, server 200 generates a first segment where the image content is misaligned. Figure 10 Second cutter Figure 20 And send it to terminal 100, which executes the sliding verification method. For example, if the client of the target application installed and running on terminal 100 displays the first segment where the image content is misaligned. Figure 10 Second cutter Figure 20 Terminal 100 responds to the sliding operation and controls the first cutting element. Figure 10 and / or the second cutter Figure 20 The image is then slid. If the image content is aligned, terminal 100 determines that the verification is successful; alternatively, server 200 determines that the verification is successful and sends the successful verification result to terminal 100 for display.
[0079] In some embodiments, Figure 4 The diagram illustrates an implementation environment for a sliding verification method provided in an exemplary embodiment of this application. This implementation environment can also be implemented as a system architecture for the sliding verification method. The implementation environment may include: terminal 100, server 200, and server 300. Server 300 may also be referred to as a second server.
[0080] Server 300 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services such as cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and basic cloud computing services such as big data and artificial intelligence platforms. Server 300 can also be a third-party server used to provide services to the clients of Server 200 or the aforementioned target applications.
[0081] by Figure 4 Taking the implementation environment shown as an example, it can be executed by the interaction and cooperation of terminal 100, server 200, and server 300. For example, server 300 generates a first segment where the image content is misaligned. Figure 10 Second cutter Figure 20 Server 200 retrieves the first segment of the image content that is not aligned from server 300. Figure 10 Second cutter Figure 20 It is then sent to terminal 100, which executes the sliding verification method.
[0082] Furthermore, the technical solution of this application can also be combined with blockchain technology. For example, some data involved in the sliding processing method disclosed in this application can be stored on the blockchain. Terminal 100, server 200, and server 300 can communicate with each other through a network, such as a wired or wireless network.
[0083] Figure 5 A flowchart of a sliding verification method provided in an exemplary embodiment of this application is shown. This embodiment is illustrated using terminal execution as an example. The method includes:
[0084] Step 520: Display the first and second cut sub-images whose image content is not aligned; the image content of the first and second cut sub-images corresponds to the two image contents cut out by the cutting lines of the verification image.
[0085] The verification image refers to the image used for sliding verification. Image content refers to the elements contained in the image, such as colors, objects, and text. Cutting the verification image with a cutting line yields two pieces of image content after the image is divided by the cutting line. Optionally, the cutting line can be a straight line, curve, wavy line, sawtooth line, etc.; in this embodiment, the cutting line is a straight line.
[0086] The first and second cut sub-images are images obtained by cutting the verification image into two parts of the image content using cut lines. Optionally, for the same verification image, the two parts of the image content cut by different cut lines may be different.
[0087] The image content of the first and second cut sub-images is not aligned. The image content of the first and second cut sub-images corresponds to the two image contents cut out by the cutting lines in the verification image.
[0088] Optionally, image content misalignment can be of a specified type. For example, if the specified type is text, then image content misalignment is determined when the text in the first sliced image and the second sliced image are misaligned, or when the same text split in the first sliced image and the second sliced image is misaligned. As another example, if the specified type is building, then image content misalignment is determined when the building in the first sliced image and the second sliced image are misaligned, or when the same building split in the first sliced image and the second sliced image is misaligned.
[0089] Optionally, misaligned image content can also mean that image content of a specified type is not aligned in a specified manner. For example, it can be specified that the text in the first and second cut images is aligned horizontally, and if the text in the first and second cut images is not aligned horizontally, then the image content is determined to be misaligned.
[0090] Optionally, misalignment of the image content of the first and second segmented sub-images can be achieved by moving the first and / or second segmented sub-images a certain distance in a specific direction, or by performing image processing on the first and / or second segmented sub-images. This image processing can be one or more combinations of scaling, pixel filling, image flipping, and image rotation.
[0091] Optionally, the first and second cut sub-images can be determined based on two image contents of the same verification image. For example, the two image contents cut out by the cutting lines from the same verification image can be directly used as the first and second cut images, respectively. Alternatively, the first and second cut images can be obtained by performing a series of the same or different image processing on the two image contents. This image processing can be one or a combination of scaling, pixel filling, image flipping, and image rotation.
[0092] Optionally, the first and second segmented sub-images can also be determined based on the content of two image blocks from different verification images. For example, if the first verification image is segmented into two image blocks by a cutting line, and the second verification image is segmented into two image blocks by the same cutting line, one could directly use a certain image block from the first verification image as the first segmented image and a certain image block from the second verification image as the second segmented image. Alternatively, one could perform a series of image processing steps on a certain image block from the first verification image to obtain the first segmented image, and perform a series of the same or different image processing steps on a certain image block from the second verification image to obtain the second segmented image.
[0093] Optionally, the terminal can receive and display a first and a second segmented image whose content is misaligned, sent by the server. The terminal can display a portion of the first and second segmented images based on the size of the display interface; which portion is displayed can be determined by the terminal according to actual technical needs or specified by the server.
[0094] Optionally, when the terminal displays a first and a second segmented image whose content is not aligned, there is no overlapping area between the first and second segmented images.
[0095] For example, please refer to Figure 6 The cutting line is a straight line, the first cutter Figure 10 Image content and second cut Figure 20 The image content corresponds to the two image blocks cut out by the cutting lines in the verification image. The terminal displays the first cut where the image content is misaligned. Figure 10 Second cutter Figure 20 And when displayed, the first cutter Figure 10 Second cutter Figure 20 There are no overlapping regions. It should be noted that... Figure 6 The first cut shown Figure 10 It can be part of the actual first cut subgraph, showing the second cut subgraph. Figure 20 It can be part of the actual second cut subgraph.
[0096] Step 540: In response to the sliding operation, control the first and / or second segmented sub-images to slide; and if the image content is aligned, determine that the verification is successful.
[0097] A swipe operation is an operation performed on the first and / or second cut sub-images. For example, a user can directly drag the first and / or second cut sub-images. The terminal then responds to the swipe operation by controlling the first and / or second cut sub-images to slide.
[0098] Optionally, the first and second cutting sub-images may contain one movable sub-image and one immovable sub-image. Which sub-image is movable can be determined by the terminal or specified by the server. For example, if the first cutting sub-image is movable and the second cutting sub-image is immovable, and a sliding operation can only slide the first cutting sub-image, then the terminal responds to the sliding operation by controlling the first cutting sub-image to slide. Alternatively, if the first cutting sub-image is immovable and the second cutting sub-image is movable, and a sliding operation can only slide the second cutting sub-image, then the terminal responds to the sliding operation by controlling the second cutting sub-image to slide.
[0099] Optionally, both the first and second cut sub-images are movable sub-images, and the user can determine which one to slide. For example, the user can slide only the first cut sub-image, in which case the terminal responds to the slide operation and controls the first cut sub-image to slide. Or, the user can slide only the second cut sub-image, in which case the terminal responds to the slide operation and controls the second cut sub-image to slide. Alternatively, the user can slide the first cut sub-image first, then the second cut sub-image, or vice versa, in which case the terminal responds to the slide operation and controls the first and second cut sub-images to slide.
[0100] Optionally, determining whether the image content of the first and second cut sub-images are aligned can be done by the terminal itself. Alternatively, the terminal can send relevant information about the sliding operation to a first server, which then determines and returns the alignment result of the first and second cut sub-images. If the image content is aligned, the verification is considered successful.
[0101] For example, please refer to Figure 6 First cut Figure 10 For a movable subgraph, the second cut subgraph Figure 20 For a non-movable subgraph, the terminal responds to a sliding operation and controls the first cutting subgraph. Figure 10 Perform a slide; please refer to Figure 7 If the image content is aligned, the verification is considered successful.
[0102] Optionally, the terminal also displays a slider control, which is used to receive sliding operations. The slider control includes a slider, and the slider control may include one or more sliders. In this embodiment, there are no restrictions on the shape, size, position, etc. of the slider control.
[0103] For example, a slider control can be used to slide either the first or second segmented sub-image. Alternatively, a slider control can be used to slide the first segmented sub-image by sliding the first slider control, and the second segmented sub-image by sliding the second slider control.
[0104] For example, please refer to Figure 8 The terminal also displays a slider control 30, which is located at the first cutter. Figure 10 Second cutter Figure 20 Below the display area. By sliding the slider control 30, the first cutting element can be targeted. Figure 10 Perform a slide. See also Figure 9 If the image content is aligned, the verification is considered successful.
[0105] Optionally, upon successful verification, the terminal may automatically redirect to the next display screen. Upon verification failure, the terminal may redirect to a failure screen, automatically refresh to display new misaligned first and second sub-images, or display a pop-up message to remind the user of the verification failure.
[0106] In summary, this application embodiment displays a first and second segmented sub-image with misaligned image content, and controls the sliding of the first and / or second segmented sub-images in response to a sliding operation. When the image content is aligned, the verification is confirmed as successful. This application embodiment provides a novel sliding verification code and its sliding verification method. Because the boundaries between the two segmented sub-images are relatively hidden, it is difficult to predict the relative positional relationship of the two segmented sub-images using color picking technology. This sliding verification code is difficult and costly to crack, effectively improving the security of sliding verification and also enhancing the user experience to some extent.
[0107] In one example, the first and second cut sub-images with misaligned image content are obtained by sliding two pieces of image content cut from the same verification image along the cutting line a first distance relative to the first direction.
[0108] Optionally, the first and second cut sub-images are obtained based on two image contents from the same verification image. The first direction refers to the direction in which the two image contents slide relative to each other along the cut line. Relative sliding means that one image content slides relative to the other. The first distance is the distance the two image contents slide relative to each other along the cut line; this first distance is a theoretical value.
[0109] For example, if image content 1 slides upwards along a cutting line while image content 2 does not slide, then after image content 1 slides upwards along the cutting line by a distance of 1, a first and a second sub-image can be obtained. This distance 1 is the first distance, and the first direction is upwards. As another example, if both image contents slide upwards along a cutting line, with image content 1 sliding upwards by a distance of 1 and image content 2 sliding upwards by a distance of 2, then after both image contents have finished sliding upwards along the cutting line, a first and a second sub-image can be obtained. The first distance is determined based on the difference between distance 1 and distance 2, and the first direction is upwards. For example, if two image contents slide along the cutting line in different directions, with image content 1 sliding upwards by a distance of 1 and image content 2 sliding downwards by a distance of 2, then after the two image contents have slid upwards or downwards along the cutting line respectively, a first cut sub-image and a second cut sub-image can be obtained. The first distance is determined based on the difference between distance 1 and distance 2, and the first direction is determined based on the sign of the distance difference and the direction used by the two image contents to slide respectively.
[0110] Optionally, if the first and second cut sub-images with misaligned image content are obtained by sliding two pieces of image content after cutting the same verification image along the cutting line relative to the first direction by a first distance, then to align the image content of the first and second cut sub-images, the sliding can be performed in the opposite direction to the first direction.
[0111] In one possible implementation of this application, such as Figure 10 As shown, successful verification is confirmed when the image content is aligned, including:
[0112] Step 542: If the first cut sub-image and / or the second cut sub-image slide a second distance along the cutting line relative to the second direction, and the difference between the second distance and the first distance is less than a threshold, the verification is determined to be successful; wherein the first direction and the second direction are opposite.
[0113] The second direction refers to the direction in which the first and second cutting sub-images slide relative to each other along the cutting line. The second distance is the distance between the first and second cutting sub-images as they slide relative to each other along the cutting line; this second distance is an actual value. The second direction is opposite to the first direction.
[0114] Optionally, the threshold is determined according to actual technical needs; it can be a set value or a theoretical value based on the first distance. For example, the threshold can be ±1% of the first distance. Verification is considered successful when the first and / or second cut sub-images slide a second distance along the cutting line relative to the second direction, and the difference between the second distance and the first distance is less than the threshold.
[0115] Optionally, determining whether the difference between the second distance and the first distance is less than a threshold can be done by the terminal itself, or by sending relevant information about the sliding operation to the first server after the sliding operation, and the first server determining and returning the result of whether the difference between the second distance and the first distance is less than the threshold.
[0116] Optionally, the relevant information for the sliding operation can be the sliding distance information. For example... Figure 11 As shown, the method executed by the terminal also includes:
[0117] Step 544: Send sliding distance information to the first server so that the first server can verify whether the difference between the second distance and the first distance is less than the threshold based on the sliding distance information.
[0118] Optionally, the sliding distance information can be a second distance. In this case, the first server can directly verify whether the difference between the second distance and the first distance is less than a threshold. This threshold is the threshold corresponding to this type of sliding distance information, and can also be called the first threshold.
[0119] Optionally, the sliding distance information is the sliding distance of the sliding operation, that is, the sliding distance based on the slider control. This sliding distance can be different from the second distance. The first server then verifies whether the difference between the sliding distance and the set distance is less than a threshold, which is the threshold corresponding to this type of sliding distance information, also known as the second threshold. The set distance is calculated based on the first distance. In one possible implementation, when the sliding operation is along the horizontal direction, the set distance is the horizontal component value of the first distance. When the sliding operation is along the vertical direction, the set distance is the vertical component value of the first distance.
[0120] It should be noted that during the sliding operation, the terminal controls the first and / or second cut sub-images to move simultaneously along the horizontal and vertical axes based on the sliding operation. The distance moved along the horizontal axis is proportional to the distance moved along the vertical axis. This proportion can be the slope of the cutting line, so that visually, the first and / or second cut sub-images move along the cutting line.
[0121] In this embodiment, by using different types of sliding distance information, it can be determined whether the first distance and the second distance are less than the threshold, which can improve the accuracy of the determination result.
[0122] In one example of this application, such as Figure 12 As shown, the above-mentioned response to the sliding operation, controlling the first and / or second cutting sub-images to slide, may further include:
[0123] Step 546: In response to the first sliding operation triggered on the first segmented sub-image, control the first segmented sub-image to slide along the sliding trajectory of the first sliding operation;
[0124] or,
[0125] Step 548: In response to the second sliding operation triggered on the second cutting sub-image, control the second cutting sub-image to slide along the sliding trajectory of the second sliding operation.
[0126] Optionally, the sliding operation triggered on the first segmented sub-image is referred to as the first sliding operation. The sliding trajectory of the first sliding operation can be any possible trajectory, such as a straight line, a curve, or a trajectory that slides at any angle in any direction, etc., without any restrictions. The terminal responds to the first sliding operation triggered on the first segmented sub-image and controls the first segmented sub-image to slide along the sliding trajectory of the first sliding operation.
[0127] Optionally, the sliding operation triggered on the second segmented sub-graph is referred to as the second sliding operation. The sliding trajectory of the second sliding operation can be any possible trajectory, such as a straight line, a curve, or a trajectory that slides at any angle in any direction, etc., without any restrictions. The second sliding trajectory is independent of the first sliding trajectory. The terminal responds to the second sliding operation triggered on the second segmented sub-graph and controls the second segmented sub-graph to slide following the sliding trajectory of the second sliding operation.
[0128] In this embodiment, by responding to different sliding operations on different cutting sub-graphs, the cutting sub-graphs can be controlled in a targeted manner, which can effectively improve the accuracy of terminal control.
[0129] Figure 13 A flowchart of a sliding verification method provided in an exemplary embodiment of this application is shown. This embodiment is illustrated using the execution of a first server as an example. The method includes:
[0130] Step 1020: Send the first and second cut sub-images with misaligned image content to the terminal; the image content of the first and second cut sub-images corresponds to the two image contents cut out by the cutting lines of the verification image.
[0131] The image content of the first and second cut sub-images is not aligned. The image content of the first and second cut sub-images corresponds to the two image contents cut out by the cutting lines in the verification image.
[0132] Optionally, the first and second segmented images with misaligned image content can be generated by the first server and sent to the terminal, or the first and second segmented images with misaligned image content can be generated by the second server, and the first server can obtain the first and second segmented images with misaligned image content from the second server and send them to the terminal.
[0133] Step 1040: Receive sliding distance information sent by the terminal. The sliding distance information is related to the relative sliding distance between the first cutting sub-image and / or the second cutting sub-image.
[0134] Optionally, the sliding distance information is information sent by the terminal related to the relative sliding distance between the first and / or second cut sub-images. The terminal sends the sliding distance information to the first server, and the first server receives the sliding distance information sent by the terminal to determine whether the image content of the first cut sub-image is aligned with the image content of the second cut sub-image based on the sliding distance information.
[0135] Step 1060: If the image content alignment is determined based on the sliding distance information, the verification is confirmed to be successful.
[0136] Optionally, the first server determines that the verification is successful if it determines that the image content is aligned based on the sliding distance information. The first server can return a successful verification result to the terminal so that the terminal can perform subsequent operations.
[0137] In summary, the sliding verification code and its method in this application are difficult and costly to crack, which can effectively improve the security of sliding verification and also improve the user experience to a certain extent.
[0138] In one possible implementation, the sliding distance information is a second distance, which is the distance that the first and / or second cutting sub-images slide relative to each other along the cutting line. For example... Figure 14 As shown, the above determination of successful verification based on image content alignment determined by sliding distance information may also include:
[0139] Step 1062: If the difference between the first distance and the second distance is less than the first threshold, the verification is confirmed to be successful; wherein, the first distance is the distance that the two image contents slide relative to each other along the cutting line.
[0140] Optionally, the first and second segmented sub-images with misaligned image content are obtained by sliding two pieces of image content from the same verification image along the cutting line relative to each other by a first distance. That is, the first distance is the distance the two pieces of image content slide relative to each other along the cutting line. If the sliding distance information is a second distance, the first server can directly verify whether the difference between the first and second distances is less than a first threshold to determine whether the image content of the first and second segmented sub-images are aligned.
[0141] Optionally, if the difference between the first distance and the second distance is less than a first threshold, the image content of the first cut sub-image and the image content of the second cut sub-image are determined to be aligned, and the verification is confirmed to be successful.
[0142] For example, please refer to Figure 15 The sliding distance information is the second distance AB, and the second distance AB is the first cutting element. Figure 10 and / or the second cutter Figure 20 The distance the two sides slide relative to each other along the cutting line. The first cut is determined when the difference between the first distance and the second distance AB is less than a first threshold. Figure 10 Image content and second cut Figure 20 The image content is aligned, confirming successful verification.
[0143] In another possible implementation, the terminal also displays a slider control, which includes a slider. A sliding operation is performed by sliding this slider control; the sliding operation is a sliding action on a first and / or a second segmented sub-image. The sliding distance information is the sliding distance of the sliding operation, which may be different from a second distance. Figure 14 As shown, the above determination of successful verification based on image content alignment determined by sliding distance information may also include:
[0144] Step 1064: If the difference between the sliding distance and the set distance is less than the second threshold, the verification is confirmed to be successful; wherein, the set distance is calculated based on the first distance; the first distance is the distance that the two image contents slide relative to each other along the cutting line.
[0145] Optionally, the first and second segmented sub-images with misaligned image content are obtained by sliding two pieces of image content from the same verification image, after being segmented, relative to each other along the cutting line by a first distance. That is, the first distance is the distance the two pieces of image content slide relative to each other along the cutting line. When the sliding distance information is the sliding distance of the sliding operation, the first server can verify whether the difference between the sliding distance and a set distance is less than a second threshold to determine whether the image content of the first and second segmented sub-images is aligned. The set distance is calculated based on the first distance. In one possible implementation, when the sliding operation is along the horizontal direction, the set distance is the horizontal component value of the first distance. When the sliding operation is along the vertical direction, the set distance is the vertical component value of the first distance.
[0146] Optionally, if the difference between the sliding distance and the set distance is less than the second threshold, it is determined that the image content of the first cut sub-image and the image content of the second cut sub-image are aligned, and the verification is successful.
[0147] For example, please refer to Figure 15 The terminal also displays a slider control 30, with the sliding distance information being the sliding distance CD of the sliding operation. This sliding distance CD is different from the second distance AB. When the difference between the sliding distance CD and the set distance is less than a second threshold, the first cut is determined. Figure 10 Image content and second cut Figure 20 Image content alignment is confirmed, and verification is successful; the set distance is calculated based on the first distance, and the set distance can be the horizontal axis component value of the first distance.
[0148] In this embodiment, different types of sliding distance information can be used to determine whether the first distance and the second distance are less than the threshold, which can improve the accuracy of the determination result.
[0149] In some embodiments, such as Figure 16As shown, the method executed by the first server also includes:
[0150] Step 1066: Send a successful verification result to the terminal.
[0151] Optionally, after confirming successful verification, the first server sends a successful verification result to the terminal so that the terminal can perform subsequent operations.
[0152] In this embodiment, sending the successful verification result directly to the terminal is beneficial for the terminal to perform subsequent operations, can also improve the terminal's data processing efficiency, and can reduce the terminal's cost to a certain extent.
[0153] Figure 17 A flowchart of a sliding verification method provided in an exemplary embodiment of this application is shown. This embodiment is illustrated using a second server as an example. The second server and the first server can be the same server, or the second server can be a third-party server. The method includes:
[0154] Step 1220: Obtain the verification image.
[0155] A verification image is an image used for sliding verification. Optionally, it can be an image obtained from a publicly available dataset, or it can be an image of a specified type or with specified content. The shape of the verification image can be rectangular, square, circular, etc., and there are no restrictions on this.
[0156] Step 1240: Based on the cutting line pair, verify the two image contents cut out from the image to obtain the first cut sub-image and the second cut sub-image.
[0157] By cutting the verification image with a cutting line, two image blocks can be obtained after the verification image is cut by the cutting line. The first and second cut sub-images are images obtained based on the two image blocks obtained by cutting the verification image by the cutting line. In this embodiment, the cutting line is a straight line.
[0158] Optionally, for the same verification image, the contents of two image blocks cut by different cutting lines may be inconsistent. The first and second cut sub-images can be determined based on the contents of two image blocks from the same verification image, or they can be determined based on the contents of two image blocks from different verification images.
[0159] Step 1260: Generate a first and a second cut sub-image with misaligned image content.
[0160] Optionally, the image content of the first cut sub-image and the image content of the second cut sub-image are not aligned. After obtaining the first cut sub-image and the second cut sub-image, the first cut sub-image and / or the second cut sub-image may be moved a certain distance in a certain direction so that the image content of the first cut sub-image is not aligned with the image content of the second cut sub-image.
[0161] In summary, the method provided in this application can improve the efficiency of image generation by generating a first and a second segmented image with misaligned image content on a second server. Moreover, the generated sliding verification code is difficult to crack, which can effectively improve the security of subsequent sliding verification.
[0162] In one example Figure 18 The flowchart illustrates an exemplary embodiment of the image generation method provided in this application, which obtains a first cut sub-image and a second cut sub-image based on two image contents cut out from a verification image using cutting lines, including:
[0163] Step 1242: Determine the cutting line to be used this time.
[0164] Optionally, the verification image can be segmented using cutting lines. The cutting lines used for each segmentation can be different, and the cutting lines to be used can be determined beforehand. The differences in cutting lines can be due to variations in parameters such as slope and intercept. Using different cutting lines to segment the same verification image will result in two different image segments with inconsistent content.
[0165] Step 1246: Based on the cutting lines, verify the two image contents cut out from the image to obtain the first cut sub-image and the second cut sub-image.
[0166] Optionally, the verification image is cut using the cutting line used in this study. Based on the two image contents cut out by the cutting line, a first cut sub-image and a second cut sub-image are obtained.
[0167] In this embodiment, by determining the cutting line used this time, a first cutting sub-image and a second cutting sub-image with arbitrary angles and asymmetry can be generated, ultimately resulting in a new type of sliding CAPTCHA, which increases the difficulty and cost of cracking the sliding CAPTCHA.
[0168] In some embodiments, to facilitate determining the position of the cutting line so as to cut the verification image using the cutting line, a verification image coordinate system can also be established after determining the cutting line to be used.
[0169] For example, take any reference point of the verification image as the origin. The reference point can be a vertex or any point within the image. Establish the verification image coordinate system with the area directly below the origin as the positive direction of the vertical axis and the area directly to the right of the origin as the positive direction of the horizontal axis.
[0170] In this embodiment, establishing a verification image coordinate system facilitates the determination of various positions and improves the efficiency of data processing.
[0171] In one possible implementation, such as Figure 19 As shown, the cutting line used in this case is determined, including:
[0172] Step 1243: Randomly select a slope within the set slope range and determine it as the slope of the cutting line.
[0173] Optionally, the slope can be used to characterize the inclination angle of the cutting line. The slope range can be set according to actual technical needs. In this embodiment, the slope range is (-1, 1) to cover the slopes of all possible cutting lines in one quadrant. When determining the cutting line to be used, a slope can be randomly selected from the set slope range and determined as the slope of the cutting line.
[0174] Alternatively, if the slope of the tangent line is expressed as a, then -1 < a < 1.
[0175] Step 1244: Based on the slope and the size of the verification image, determine the cut line intercept within the set intercept range.
[0176] Optionally, the intercept is used to ensure that the two cut image contents are not too large or too small, and that the two image contents are not too different, so as to avoid inaccurate sliding verification. The intercept range can be set according to actual technical needs. In this embodiment, the intercept of the cutting line is determined within the set intercept range based on the slope and the size of the verification image.
[0177] Optionally, the intercept of the cutting line is represented as b. Assuming the verification image is a rectangle with a width of X / 2 and a height of Y / 2, based on the slope a and the size of the verification image, 0.125 < b / Y < 0.375 and -a / 2 < b / X < 1+a are set to determine the intercept b.
[0178] In this embodiment, by randomly selecting different cutting lines, a first and second cutting sub-graphs with arbitrary angles and asymmetry can be generated, ultimately resulting in a new type of sliding CAPTCHA, which increases the difficulty and cost of cracking the sliding CAPTCHA.
[0179] Figure 20 A flowchart illustrating an exemplary embodiment of this application shows an image generation method, wherein the generation of a first and a second segmented image with misaligned image content may include:
[0180] Step 1262: Slide the two image contents relative to each other along the cutting line by a first distance to obtain a first and a second cut sub-image where the image contents are not aligned.
[0181] Optionally, the first distance is the distance by which two image contents slide relative to each other along the cutting line. This first distance is a theoretical value and can be a randomly set distance. Sliding the two image contents relative to each other along the cutting line by the first distance yields a first and a second cut sub-image where the image contents are not aligned.
[0182] Optionally, the first distance can be set based on the size of the verification image and the slope and intercept of the cutting line. For example, based on the size of the verification image and the slope of the cutting line, a vertical axis scale value is randomly selected within a set range, a horizontal axis scale value is determined based on the vertical axis scale value and the slope of the cutting line, and the first distance is calculated based on the horizontal axis scale value, the vertical axis scale value, the slope of the cutting line, and the intercept.
[0183] Optionally, assuming the verification image is rectangular with a width of X / 2 and a height of Y / 2, the vertical axis scale is represented as dy, with 0 < dy / X < -a / 2. The horizontal axis scale is represented as dx, with dx = dy * (-a). The first distance is represented as r, and the calculation formula is:
[0184]
[0185] In this embodiment, by determining the first and second segmented sub-images with misaligned generated image content, a novel sliding CAPTCHA is obtained, which increases the difficulty and cost of cracking the sliding CAPTCHA.
[0186] Figure 21 A flowchart illustrating an exemplary embodiment of the image generation method provided in this application is shown. The method, executed by a second server, further includes:
[0187] Step 1210: Obtain the original image.
[0188] Optionally, the verification image can be derived from the original image, in which case the verification image is a part of the original image. The original image can be obtained from a publicly available dataset and can be an image of a specified type or with specified image content.
[0189] Step 1212: Crop the original image based on reference points in the original image to obtain a verification image; wherein the size of the verification image is less than or equal to the size of the original image.
[0190] Optionally, the reference point in the original image can be a vertex or any point within the image. Different verification images can be obtained by cropping the original image to different sizes based on the same reference point. Conversely, different verification images can also be obtained by cropping the original image to the same size based on different reference points.
[0191] Optionally, the size of the verification image is less than or equal to the size of the original image. If the size of the verification image is equal to the size of the original image, the reference point can be any vertex of the original image. If the size of the verification image is less than the size of the original image, the reference point can be any point within the original image.
[0192] In this embodiment, by cropping the original image to obtain the verification image, important image content in the original image can be selectively retained, thereby improving the recognition of the verification image and facilitating the generation of sliding verification codes.
[0193] In some embodiments, to facilitate cropping of the original image, an original image coordinate system can be established after acquiring the original image.
[0194] For example, we can use any reference point in the original image as the origin. This reference point can be a vertex or any point within the image. We can then establish the original image coordinate system with the area directly below the origin as the positive direction of the vertical axis and the area directly to the right of the origin as the positive direction of the horizontal axis.
[0195] In this embodiment, establishing an original image coordinate system facilitates the determination of various positions and improves the efficiency of data processing.
[0196] In one example Figure 22 A flowchart illustrating an exemplary embodiment of the image generation method provided in this application is shown. The method, executed by a second server, further includes:
[0197] Step 1248: Based on the image content adjacent to the verification image in the original image, expand the image content of the first segmented sub-image and / or the image content of the second segmented sub-image;
[0198] or,
[0199] Step 1250: Expand the image content of the first cut sub-image and / or the image content of the second cut sub-image based on the mirror image content of the first cut sub-image and / or the second cut sub-image.
[0200] Optionally, the image content of the first segmented sub-image and / or the image content of the second segmented sub-image can be expanded. This can be done by expanding only the image content of the first segmented sub-image, expanding only the image content of the second segmented sub-image, or expanding both the image content of the first segmented sub-image and the image content of the second segmented sub-image simultaneously.
[0201] Optionally, the expansion includes size expansion and pixel padding. In a possible implementation, the first and / or second sub-images can be expanded in size first, and then the expanded portion can be padded with pixels to expand the image content.
[0202] It should be noted that during size expansion, the original image content sizes of the first and second sub-images remain unchanged. Size expansion is achieved by extending the edges of the first and second sub-images outward.
[0203] Optionally, the size expansion of the first and / or second sub-images can be a combination of one or more of the following: the top edge of the first and / or second sub-images is expanded upwards, the bottom edge is expanded downwards, the left edge is expanded to the left, and the right edge is expanded to the right.
[0204] Optionally, the size of the first and / or second sub-images can be expanded. The extent of expansion can be a preset value or determined based on the size of the original image content of the first and / or second sub-images. This embodiment does not limit this.
[0205] Optionally, the image content of the first and / or second segmented sub-images can be expanded based on the image content adjacent to the verification image in the original image. For example, after expanding the size of the first and / or second segmented sub-images, if the expanded portion does not exceed the edge of the original image, the expanded portion can be pixel-filled based on the image content adjacent to the verification image in the original image.
[0206] Optionally, the image content of the first and / or second segmented sub-images can be expanded based on the mirrored image content of the first and / or second segmented sub-images. For example, if the expanded portion extends beyond the edge of the original image after the first and / or second segmented sub-images are expanded in size, the expanded portion can be filled with pixels based on the mirrored image content of the first and / or second segmented sub-images.
[0207] For example, the mirrored image content refers to the image content of the mirrored image. Taking the first cut sub-image as an example, the mirrored image of the first cut sub-image can be obtained by mirroring and flipping the first cut sub-image with the straight line where the edge of the extended part is located as the specified axis.
[0208] By using the above expansion method, the pixels of the expanded image content can be made as continuous as possible, which can improve the user's visual experience to a certain extent.
[0209] It should be noted that expanding the image content of the first and / or second segmented sub-images can be performed after obtaining the first and second segmented sub-images from the two image contents segmented from the verification image based on the cutting lines, but before generating the first and second segmented sub-images with misaligned image content. Alternatively, it can be performed after generating the first and second segmented sub-images with misaligned image content; this embodiment does not limit this.
[0210] For example, please refer to Figure 23-30 The specific steps of the image generation method include:
[0211] 1. Prepare a set of rectangle diagrams.
[0212] 2. Randomly select a rectangle M, assuming that the width of rectangle M is X and the height is Y.
[0213] For example, please refer to Figure 23 The width of rectangle M is X = 400, and the height is Y = 400.
[0214] 3. Randomly select the slope a (-1 < a < 1) of the tangent line, randomly select the intercept b (0.125 < b / Y < 0.375, -a / 2 < b / X < 1+a), randomly select the vertical axis scale dy (0 < dy / X < -a / 2), and the horizontal axis scale dx = dy * (-a). The formula for calculating the first distance r is:
[0215]
[0216] For example, if we select a = -0.48, b = 96, dy = 31, we can calculate dx = dy*(-a) ≈ 65, r ≈ 149.83.
[0217] 4. Taking the top left vertex of rectangle M as the origin, the positive y-axis is directly below it, and the positive x-axis is directly to its right. Randomly select point P0(x0,y0) (X / 4<x0<X / 2,Y / 4<y0<Y / 2).
[0218] For example, please refer to Figure 24 Choose P0(110,123).
[0219] 5. Using P0 as the top left vertex, with a width of X / 2 and a height of Y / 2, extract the verification image M'.
[0220] For example, please refer to Figure 24 With P0 as the top left vertex, and a width of 200 (X / 2) and a height of 200 (Y / 2), the verification image M' is obtained.
[0221] 6. With P0 as the origin, the positive y-axis is directly below and the positive x-axis is directly to the right. Draw a cutting line y = a*x + b to divide the verification image M' into image content Ma (any p ∈ Ma, yp < a*xp + b) and image content Mb (any p ∈ Mb, yp > a*xp + b).
[0222] For example, please refer to Figure 25With P0 as the origin, the positive y-axis is directly below and the positive x-axis is directly to the right. Draw the line y = -0.48x + 96 to divide the verification image M' into two parts.
[0223] 7. Take a blank image with the same shape and size as the image content Mb and combine it with the image content Ma to form M1. Take a blank image with the same shape and size as the image content Ma and combine it with the image content Mb to form M2, so that the width and height of M1 and M2 are the same as the verification image M'.
[0224] For example, please refer to Figure 26 and Figure 27 The two segmented image contents are filled with blanks to obtain M1 and M2 with the same width and height, 200 (X / 2) and 200 (Y / 2).
[0225] 8. Shift M1 to the left by X / 2 and down by b-dy to obtain M1'.
[0226] It should be noted that this step is not shown in the diagram.
[0227] 9. Expand M1' left side by X / 2, right side by X / 2, top side by b, and bottom side by Y / 2 to obtain sub-image A (width 1.5X, height Y, and for any p∈A, yp<a*xp+b); Expand M2 left side by X / 2, and bottom and right sides can be expanded based on the left side to obtain sub-image B (width X, height Y / 2, and for any p∈B, yp>a*xp+b); After expansion, perform pixel filling.
[0228] For example, please refer to Figure 28 Expand M1' leftward by 200 (X / 2), rightward by 200 (X / 2), topward by 96, and bottomward by 200 (Y / 2). After pixel filling, sub-image A is obtained; please refer to [link / reference]. Figure 29 Extend M2 to the left by 200 (X / 2) pixels and fill it with pixels to obtain sub-image B.
[0229] 10. Generate subgraphs A and B with misaligned image content based on subgraphs A and B.
[0230] For example, please refer to Figure 30 Slide subgraph A and subgraph B relative to each other to align the top right vertex. Figure 30 The dashed area in the diagram represents the user-visible area displayed on the terminal.
[0231] In this embodiment, by expanding the image content of the first segmented sub-image and / or the image content of the second segmented sub-image, more image content can be displayed during the sliding verification process on the terminal, avoiding missing image content and improving the user experience.
[0232] In some embodiments, such as Figure 31 As shown, the method also includes:
[0233] Step 1280: Send the first and second cut sub-images with misaligned image content to the first server.
[0234] Optionally, when the second server is a third-party server used to generate a first and a second segmented image with misaligned image content, the second server may also send the first and second segmented image with misaligned image content to the first server so that the first server can obtain and perform other processing.
[0235] In this embodiment, by generating a first and a second segmented image with misaligned image content on the second server and sending them to the first server, data processing efficiency can be effectively improved.
[0236] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.
[0237] Figure 32 A structural block diagram of a sliding verification device provided in an exemplary embodiment of this application is shown. The sliding verification device includes:
[0238] Display module 3210 is used to display a first and a second cut sub-image with misaligned image content; the image content of the first and the second cut sub-images correspond to the two image contents cut out by the cutting lines of the verification image.
[0239] The processing module 3220 is configured to control the first cut sub-image and / or the second cut sub-image to slide in response to the sliding operation; and to determine that the verification is successful if the image content is aligned.
[0240] In one embodiment, the processing module 3220 is configured to control the first cutting sub-image and / or the second cutting sub-image to slide along the cutting line in response to a sliding operation.
[0241] In one embodiment, the first and second cut sub-images with misaligned image content are obtained by sliding two pieces of image content after cutting the same verification image along the cutting line a first distance relative to the first direction.
[0242] The processing module 3220 is configured to determine that the verification is successful when the first cutting sub-image and / or the second cutting sub-image slides a second distance along the cutting line relative to the second direction, and the difference between the second distance and the first distance is less than a threshold; wherein the first direction and the second direction are opposite.
[0243] In one embodiment, the apparatus further includes a sending module; the sending module is configured to send sliding distance information to a first server, so that the first server verifies whether the difference between the second distance and the first distance is less than the threshold based on the sliding distance information.
[0244] In one embodiment, the sliding distance information is a second distance; or, the sliding distance information is the sliding distance of the sliding operation.
[0245] In one embodiment, the display module 3210 is used to display a slider control, which is used to receive the sliding operation.
[0246] In one embodiment, the processing module 3220 is configured to control the first segmented sub-image to slide along the sliding trajectory of the first sliding operation in response to a first sliding operation triggered on the first segmented sub-image.
[0247] In one embodiment, the processing module 3220 is configured to control the second segmented sub-image to slide along the sliding trajectory of the second sliding operation in response to a second sliding operation triggered on the second segmented sub-image.
[0248] Figure 33 A structural block diagram of a sliding verification device provided in an exemplary embodiment of this application is shown. The sliding verification device includes:
[0249] The sending module 3330 is used to send a first and a second segmented image with misaligned image content to the terminal; the image content of the first and the second segmented image corresponds to the two image contents cut out by the cutting lines of the verification image.
[0250] The receiving module 3340 is used to receive sliding distance information sent by the terminal, the sliding distance information being related to the relative sliding distance of the first cutting sub-image and / or the second cutting sub-image.
[0251] The verification module 3350 is used to determine that the verification is successful when the image content alignment is determined based on the sliding distance information.
[0252] In one embodiment, the sliding distance information is a second distance, which is the distance by which the first cutting sub-image and / or the second cutting sub-image slide relative to each other along the cutting line;
[0253] The verification module 3350 is used to determine that the verification is successful if the difference between the first distance and the second distance is less than a first threshold; wherein, the first distance is the distance that the two image contents slide relative to each other along the cutting line.
[0254] In one embodiment, the sliding distance information is the sliding distance of a sliding operation; the sliding operation is a sliding operation performed on the first cut sub-image and / or the second cut sub-image.
[0255] The verification module 3350 is used to determine that the verification is successful when the difference between the sliding distance and the set distance is less than a second threshold; wherein the set distance is calculated based on a first distance; the first distance is the distance that the two image contents slide relative to each other along the cutting line.
[0256] In one embodiment, the sending module 3330 is used to send the successful verification result to the terminal.
[0257] Figure 34 A structural block diagram of an image generation apparatus provided in an exemplary embodiment of this application is shown. The image generation apparatus includes:
[0258] The acquisition module 3460 is used to acquire the verification image.
[0259] The cutting module 3470 is used to cut two parts of the image content from the verification image based on the cutting line to obtain a first cut sub-image and a second cut sub-image.
[0260] The generation module 3480 is used to generate a first and a second cut sub-image where the image content is not aligned.
[0261] In one embodiment, the cutting module 3470 includes:
[0262] The cutting line determination unit is used to determine the cutting line to be used in this operation.
[0263] The cutting unit cuts out two image contents from the verification image based on the cutting line to obtain a first cut sub-image and a second cut sub-image.
[0264] In one embodiment, the cutting line determining unit includes:
[0265] The slope determination unit is used to randomly select a slope within a set slope range and determine it as the slope of the cutting line.
[0266] An intercept determination unit is used to determine the intercept of the cutting line within a set intercept range based on the slope and the size of the verification image.
[0267] In one embodiment, the generation module 3480 is used to slide the two image contents relative to each other along the cutting line by a first distance to obtain a first cut sub-image and a second cut sub-image where the image contents are not aligned.
[0268] In one embodiment, the device further includes an interception module;
[0269] The acquisition module 3460 is used to acquire the original image.
[0270] The cropping module is used to crop the original image based on reference points in the original image to obtain a verification image; wherein the size of the verification image is less than or equal to the size of the original image.
[0271] In one embodiment, the device further includes an expansion module;
[0272] The expansion module is used to expand the image content of the first cut sub-image and / or the image content of the second cut sub-image based on the image content adjacent to the verification image in the original image;
[0273] or,
[0274] The expansion module is used to expand the image content of the first cut sub-image and / or the image content of the second cut sub-image based on the mirror image content of the first cut sub-image and / or the second cut sub-image.
[0275] In one embodiment, the apparatus further includes a transmitting module;
[0276] The sending module is used to send the first and second cut sub-images of the image content that are not aligned to the first server.
[0277] Figure 35 A structural block diagram of a terminal 3500 provided in an exemplary embodiment of this application is shown. The terminal 3500 may be a portable mobile terminal, such as a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), MP4 player (Moving Picture Experts Group Audio Layer IV), laptop computer, or desktop computer. The terminal 3500 may also be referred to as a user device, portable terminal, laptop terminal, desktop terminal, or other names.
[0278] Typically, terminal 3500 includes a processor 3501 and a memory 3502.
[0279] Processor 3501 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 3501 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 3501 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 3501 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the screen. In some embodiments, processor 3501 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0280] The memory 3502 may include one or more computer-readable storage media, which may be non-transitory. The memory 3502 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 3502 is used to store at least one instruction, which is executed by the processor 3501 to implement the sliding verification method provided in the method embodiments of this application.
[0281] In some embodiments, the terminal 3500 may also optionally include a peripheral device interface 3503 and at least one peripheral device. The processor 3501, memory 3502, and peripheral device interface 3503 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 3503 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 3504, a display screen 3505, a camera assembly 3506, an audio circuit 3507, a positioning assembly 3508, and a power supply 3509.
[0282] Peripheral device interface 3503 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 3501 and memory 3502. In some embodiments, processor 3501, memory 3502 and peripheral device interface 3503 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 3501, memory 3502 and peripheral device interface 3503 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0283] The radio frequency (RF) circuit 3504 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 3504 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 3504 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 3504 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 3504 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 3504 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0284] Display screen 3505 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. When display screen 3505 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 3501 for processing. In this case, display screen 3505 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one display screen 3505, disposed on the front panel of terminal 3500; in other embodiments, there may be at least two display screens, disposed on different surfaces of terminal 3500 or in a folded design; in still other embodiments, display screen 3505 may be a flexible display screen, disposed on a curved or folded surface of terminal 3500. Furthermore, display screen 3505 may also be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The display screen 3505 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0285] The camera assembly 3506 is used to acquire images or videos. Optionally, the camera assembly 3506 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal, and the rear-facing camera is located on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 3506 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.
[0286] The audio circuit 3507 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to the processor 3501 for processing, or input to the radio frequency circuit 3504 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each positioned at a different location on the terminal 3500. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 3501 or the radio frequency circuit 3504 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 3507 may also include a headphone jack.
[0287] The positioning component 3508 is used to determine the current geographic location of the positioning terminal 3500 in order to enable navigation or LBS (Location Based Service). The positioning component 3508 can be a positioning component based on the US GPS (Global Positioning System), China's BeiDou system, or Russia's Galileo system.
[0288] Power supply 3509 is used to power the various components in terminal 3500. Power supply 3509 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 3509 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0289] In some embodiments, the terminal 3500 further includes one or more sensors 3510. The one or more sensors 3510 include, but are not limited to: an accelerometer 3511, a gyroscope 3512, a pressure sensor 3513, a fingerprint sensor 3514, an optical sensor 3515, and a proximity sensor 3516.
[0290] Accelerometer 3511 can detect the magnitude of acceleration along the three axes of a coordinate system established by terminal 3500. For example, accelerometer 3511 can be used to detect the components of gravitational acceleration along the three axes. Processor 3501 can control display screen 3505 to display the user interface in either a landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 3511. Accelerometer 3511 can also be used for games or for acquiring user motion data.
[0291] The gyroscope sensor 3512 can detect the orientation and rotation angle of the terminal 3500. The gyroscope sensor 3512, in conjunction with the accelerometer sensor 3511, can collect 3D motion data from the user on the terminal 3500. Based on the data collected by the gyroscope sensor 3512, the processor 3501 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.
[0292] The pressure sensor 3513 can be disposed on the side bezel of the terminal 3500 and / or on the lower layer of the display screen 3505. When the pressure sensor 3513 is disposed on the side bezel of the terminal 3500, it can detect the user's grip signal on the terminal 3500, and the processor 3501 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 3513. When the pressure sensor 3513 is disposed on the lower layer of the display screen 3505, the processor 3501 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 3505. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0293] The fingerprint sensor 3514 is used to collect the user's fingerprint. The processor 3501 identifies the user's identity based on the fingerprint collected by the fingerprint sensor 3514, or the fingerprint sensor 3514 identifies the user's identity based on the collected fingerprint. When the user's identity is identified as trusted, the processor 3501 authorizes the user to perform relevant sensitive operations, including unlocking the screen, viewing encrypted information, downloading software, making payments, and changing settings. The fingerprint sensor 3514 can be located on the front, back, or side of the terminal 3500. When the terminal 3500 has physical buttons or a manufacturer's logo, the fingerprint sensor 3514 can be integrated with the physical buttons or manufacturer's logo.
[0294] An optical sensor 3515 is used to collect ambient light intensity. In one embodiment, a processor 3501 can control the display brightness of a display screen 3505 based on the ambient light intensity collected by the optical sensor 3515. Specifically, when the ambient light intensity is high, the display brightness of the display screen 3505 is increased; when the ambient light intensity is low, the display brightness of the display screen 3505 is decreased. In another embodiment, the processor 3501 can also dynamically adjust the shooting parameters of a camera assembly 3506 based on the ambient light intensity collected by the optical sensor 3515.
[0295] The proximity sensor 3516, also known as a distance sensor, is typically located on the front panel of the terminal 3500. The proximity sensor 3516 is used to detect the distance between the user and the front of the terminal 3500. In one embodiment, when the proximity sensor 3516 detects that the distance between the user and the front of the terminal 3500 is gradually decreasing, the processor 3501 controls the display screen 3505 to switch from a screen-on state to a screen-off state; when the proximity sensor 3516 detects that the distance between the user and the front of the terminal 3500 is gradually increasing, the processor 3501 controls the display screen 3505 to switch from a screen-off state to a screen-on state.
[0296] Those skilled in the art will understand that Figure 35 The structure shown does not constitute a limitation on terminal 3500 and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0297] This application also provides a server, which includes a processor and a memory, wherein the memory stores a computer program; the processor is used to execute the computer program in the memory to implement the sliding verification method and / or image generation method provided in the above method embodiments.
[0298] For example, Figure 36 This is a structural block diagram of a server provided in an exemplary embodiment of this application.
[0299] Typically, server 3600 includes: processor 3601 and memory 3602.
[0300] Processor 3601 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 3601 may be implemented using at least one hardware form selected from Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). Processor 3601 may also include a main processor and a coprocessor. The main processor, also known as a central processing unit (CPU), 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 3601 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 3601 may also include an Artificial Intelligence (AI) processor, which is used to handle computational operations related to machine learning.
[0301] The memory 3602 may include one or more computer-readable storage media, which may be non-transitory. The memory 3602 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 3602 is used to store at least one instruction, which is executed by the processor 3601 to implement the sliding verification method and / or image generation method provided in the method embodiments of this application.
[0302] In some embodiments, the server 3600 may optionally include an input interface 3603 and an output interface 3604. The processor 3601, memory 3602, and input interfaces 3603 and 3604 can be connected via a bus or signal lines. Various peripheral devices can be connected to the input interfaces 3603 and 3604 via a bus, signal lines, or a circuit board. The input interfaces 3603 and 3604 can be used to connect at least one input / output (I / O) related peripheral device to the processor 3601 and memory 3602. In some embodiments, the processor 3601, memory 3602, and input interfaces 3603 and 3604 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 3601, memory 3602, and input interfaces 3603 and 3604 can be implemented on separate chips or circuit boards, and this application does not limit this.
[0303] Those skilled in the art will understand that the structure shown above does not constitute a limitation on the server 3600. The server 3600 may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0304] In an exemplary embodiment, a chip is also provided, the chip including programmable logic circuits and / or program instructions, which, when the chip is run on a terminal or server, are used to implement the above-described sliding verification method and / or image generation method.
[0305] In an exemplary embodiment, a computer program product is also provided, comprising 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 to implement the aforementioned sliding verification method and / or image generation method.
[0306] In an exemplary embodiment, a computer-readable storage medium is also provided, which stores executable instructions that are loaded and executed by a processor to implement the sliding verification method and / or image generation method provided in the above-described method embodiments.
[0307] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0308] Those skilled in the art will recognize that the functions described in the embodiments of this application in one or more of the above examples can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer-readable storage media and communication media, wherein communication media include any medium that facilitates the transmission of a computer program from one place to another. Storage media can be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0309] The above description is merely an optional embodiment of this application and is 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. A sliding verification method, characterized in that, The method is executed by a terminal, and the method includes: The first and second cut sub-images are displayed with misaligned image content; the image content of the first and second cut sub-images corresponds to the two image contents of the verification image cut out by a cutting line; the cutting line includes a straight line, and the first and second cut sub-images are obtained by sliding the two image contents cut from the same verification image along the cutting line relative to a first direction by a first distance; the image content of the first and / or the second cut sub-images is also based on the image content adjacent to the verification image in the original image, or by expanding the image content of the mirror image of the first and / or the second cut sub-images, the expansion including size expansion and pixel filling; the verification image is obtained by cropping the original image based on a reference point in the original image, the reference point including any vertex of the original image or any point within the original image, and the size of the verification image is less than or equal to the size of the original image; In response to a sliding operation, the first and / or the second cut sub-images are controlled to slide along the cutting line; and if the first and / or the second cut sub-images slide a second distance along the cutting line relative to a second direction, and the difference between the second distance and the first distance is less than a threshold, the verification is determined to be successful. The first direction and the second direction are opposite.
2. The method according to claim 1, characterized in that, The method further includes: The sliding distance information is sent to the first server so that the first server can verify whether the difference between the second distance and the first distance is less than the threshold based on the sliding distance information.
3. The method according to claim 2, characterized in that, The sliding distance information is the second distance; or, The sliding distance information is the sliding distance of the sliding operation.
4. The method according to claim 1, characterized in that, The method further includes: Display a slider control, which is used to receive the sliding operation.
5. The method according to claim 1, characterized in that, The method further includes: In response to a first sliding operation triggered on the first cut sub-image, the first cut sub-image is controlled to slide along the sliding trajectory of the first sliding operation; or, In response to a second sliding operation triggered on the second cut sub-image, the second cut sub-image is controlled to slide along the sliding trajectory of the second sliding operation.
6. A sliding verification method, characterized in that, The method is executed by a first server, and the method includes: The system sends a first and a second segmented image with misaligned image content to the terminal. The image content of the first and second segmented images corresponds to two segments of image content cut out by a cutting line in the verification image. The cutting line includes a straight line. The first and second segmented images are obtained by sliding two segments of image content cut from the same verification image along the cutting line relative to a first direction by a first distance. The image content of the first and / or the second segmented images is based on image content adjacent to the verification image in the original image, or by expanding the image content of the mirror image of the first and / or the second segmented images. The expansion includes size expansion and pixel filling. The verification image is obtained by cropping the original image based on a reference point in the original image. The reference point includes any vertex of the original image or any point within the original image. The size of the verification image is less than or equal to the size of the original image. The terminal sends sliding distance information, which is related to the relative sliding distance between the first cut sub-image and / or the second cut sub-image. If the image content alignment is determined based on the sliding distance information, the verification is confirmed to be successful. The sliding distance information includes a second distance, which is the distance by which the first cut sub-image and / or the second cut sub-image slide relative to each other along the cutting line; if the difference between the first distance and the second distance is less than a first threshold, the verification is determined to be successful; the first distance is the distance by which the two image contents slide relative to each other along the cutting line.
7. The method according to claim 6, characterized in that, The sliding distance information also includes the sliding distance of the sliding operation; the sliding operation is a sliding operation performed on the first cut sub-image and / or the second cut sub-image; The step of determining successful verification when the image content alignment is determined based on the sliding distance information includes: If the difference between the sliding distance and the set distance is less than the second threshold, the verification is considered successful. The set distance is calculated based on a first distance; the first distance is the distance that the two image contents slide relative to each other along the cutting line.
8. The method according to claim 6 or 7, characterized in that, The method further includes: The successful verification result is sent to the terminal.
9. An image generation method, characterized in that, The method is executed by a second server, and the method includes: Obtain the original image; The original image is cropped based on reference points in the original image to obtain a verification image; the reference points include any vertex of the original image or any point within the original image, and the size of the verification image is less than or equal to the size of the original image; Obtain the verification image; The cutting line to be used in this case is determined, and the cutting line includes a straight line; based on the cutting line, two image contents are cut out from the verification image to obtain a first cut sub-image and a second cut sub-image; The two image contents are slid relative to each other along the cutting line by a first distance to obtain a first and a second cut sub-image with misaligned image contents. Based on the image content adjacent to the verification image in the original image, the image content of the first cut sub-image and / or the image content of the second cut sub-image are expanded; or, based on the mirror image content of the first cut sub-image and / or the second cut sub-image, the image content of the first cut sub-image and / or the image content of the second cut sub-image are expanded, the expansion including size expansion and pixel filling.
10. The method according to claim 9, characterized in that, The determination of the cutting line used in this instance includes: Randomly select a slope within the set slope range and determine it as the slope of the cutting line; Based on the slope and the size of the verification image, the intercept of the cutting line is determined within a set intercept range.
11. The method according to claim 9 or 10, characterized in that, The method further includes: Send the first and second cut sub-images of the image content that are not aligned to the first server.
12. A sliding verification device, characterized in that, The device includes: The display module is used to display a first and a second segmented image with misaligned image content. The image content of the first and second segmented images corresponds to two pieces of image content cut out by a cutting line in the verification image. The cutting line includes a straight line. The first and second segmented images are obtained by sliding two pieces of image content cut from the same verification image along the cutting line relative to a first direction by a first distance. The image content of the first and / or the second segmented images is based on image content adjacent to the verification image in the original image, or by expanding the image content of the mirror image of the first and / or the second segmented images. The expansion includes size expansion and pixel filling. The verification image is obtained by cropping the original image based on a reference point in the original image. The reference point includes any vertex of the original image or any point within the original image. The size of the verification image is less than or equal to the size of the original image. The processing module is configured to, in response to a sliding operation, control the first and / or the second cutting sub-images to slide along the cutting line; and determine that the verification is successful if the first and / or the second cutting sub-images slide a second distance along the cutting line relative to a second direction, and the difference between the second distance and the first distance is less than a threshold; wherein the first direction is opposite to the second direction.
13. A sliding verification device, characterized in that, The device includes: A sending module is used to send a first and a second segmented image with misaligned image content to a terminal. The image content of the first and second segmented images corresponds to two pieces of image content cut out of a verification image by a cutting line. The cutting line includes a straight line. The first and second segmented images are obtained by sliding two pieces of image content cut from the same verification image along the cutting line relative to a first direction by a first distance. The image content of the first and / or the second segmented images is based on image content adjacent to the verification image in the original image, or by expanding the image content of the mirror image of the first and / or the second segmented images. The expansion includes size expansion and pixel filling. The verification image is obtained by cropping the original image based on a reference point in the original image. The reference point includes any vertex of the original image or any point within the original image. The size of the verification image is less than or equal to the size of the original image. A receiving module is configured to receive sliding distance information sent by the terminal, wherein the sliding distance information is related to the relative sliding distance of the first cutting sub-image and / or the second cutting sub-image; The verification module is used to determine successful verification when the image content is aligned based on the sliding distance information; wherein the sliding distance information includes a second distance, the second distance being the distance by which the first cut sub-image and / or the second cut sub-image slide relative to each other along the cutting line; and to determine successful verification when the difference between the first distance and the second distance is less than a first threshold; the first distance being the distance by which the two image contents slide relative to each other along the cutting line.
14. An image generation apparatus, characterized in that, The device includes: The acquisition module is used to acquire the original image; The cropping module is used to crop the original image based on reference points in the original image to obtain a verification image; the reference points include any vertex of the original image or any point within the original image, and the size of the verification image is less than or equal to the size of the original image; The acquisition module is used to acquire the verification image; The cutting module is used to determine the cutting line to be used in this operation, the cutting line including a straight line; based on the cutting line, the two image contents cut out of the verification image are used to obtain a first cut sub-image and a second cut sub-image; The generation module is used to slide the two image contents relative to each other along the cutting line by a first distance to obtain a first and a second cut sub-image with misaligned image contents. An expansion module is used to expand the image content of the first cut sub-image and / or the image content of the second cut sub-image based on the image content adjacent to the verification image in the original image; or, based on the mirror image content of the first cut sub-image and / or the second cut sub-image, expand the image content of the first cut sub-image and / or the second cut sub-image, wherein the expansion includes size expansion and pixel filling.
15. A terminal, characterized in that, The terminal includes a processor and a memory, the memory storing at least one piece of program code, which is loaded and executed by the processor to implement the sliding verification method as described in any one of claims 1 to 5.
16. A server, characterized in that, The server includes a processor and a memory, the memory storing at least one piece of program code, which is loaded and executed by the processor to implement the sliding verification method as described in any one of claims 6 to 8; or to implement the image generation method as described in any one of claims 9 to 11.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores executable instructions, which are loaded and executed by a processor to implement the sliding verification method as described in any one of claims 1 to 5; or, to implement the sliding verification method as described in any one of claims 6 to 8; or, to implement the image generation method as described in any one of claims 9 to 11.
18. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium, which are loaded and executed by a processor to implement the sliding verification method as described in any one of claims 1 to 5; or, to implement the sliding verification method as described in any one of claims 6 to 8; or, to implement the image generation method as described in any one of claims 9 to 11.