CN110766068B - Verification code identification method and computing equipment - Google Patents

Verification code identification method and computing equipment Download PDF

Info

Publication number
CN110766068B
CN110766068B CN201911000527.3A CN201911000527A CN110766068B CN 110766068 B CN110766068 B CN 110766068B CN 201911000527 A CN201911000527 A CN 201911000527A CN 110766068 B CN110766068 B CN 110766068B
Authority
CN
China
Prior art keywords
verification code
sub
picture
code
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911000527.3A
Other languages
Chinese (zh)
Other versions
CN110766068A (en
Inventor
师帅帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Chezhiying Technology Co ltd
Original Assignee
Beijing Chezhiying Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Chezhiying Technology Co ltd filed Critical Beijing Chezhiying Technology Co ltd
Priority to CN201911000527.3A priority Critical patent/CN110766068B/en
Publication of CN110766068A publication Critical patent/CN110766068A/en
Application granted granted Critical
Publication of CN110766068B publication Critical patent/CN110766068B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

The invention discloses a verification code identification method, which is executed in a computing device, wherein the computing device is connected with a data storage device, a feature code library is stored in the data storage device, and the feature code library comprises feature codes corresponding to a plurality of characters, and the method comprises the following steps: acquiring a verification code picture to be identified; cutting the verification code picture to obtain a plurality of sub-pictures, wherein each sub-picture corresponds to one character in the verification code; for each sub-picture: calculating the characteristic value of the sub-picture, respectively calculating the difference between the characteristic value and each characteristic code in a characteristic code library, and taking the character corresponding to the characteristic code with the minimum difference as the character corresponding to the sub-picture; and sequentially combining the characters corresponding to the plurality of sub-images to obtain the identifying result of the identifying code. The invention also discloses corresponding computing equipment.

Description

Verification code identification method and computing equipment
Technical Field
The present invention relates to the field of image processing technologies, and in particular, to a verification code identification method and a computing device.
Background
The verification code (Completely Automated PublicTuring test to tell Computers and Humans Apart, CAPTCHA for short) is a public Turing test for distinguishing human beings and computers, and is used for preventing computer programs from simulating human behaviors to perform activities such as violently cracking passwords, maliciously brushing tickets, sending a large amount of junk information and the like, and improving the security of websites.
Captcha pictures typically contain distorted, sticky letters and numbers, with some interference lines and noise points. The user needs to identify the character of the verification code from the verification code picture, input the form and submit the character to the background verification of the website, and the user can use a certain function provided by the website after the verification is successful.
Although the verification code prevents malicious machine behaviors to a certain extent, the verification code brings inconvenience to normal business operation of a user, increases the time cost of the user for acquiring information, and reduces the smoothness and use experience of the user operation. In addition, the setting of verification codes also increases the labor and time cost for automatic testing of the website platform, and seriously affects the automatic testing efficiency.
Therefore, it is desirable to provide a verification code identification method.
Disclosure of Invention
Accordingly, the present invention provides a verification code identification method and computing device in an effort to solve or at least alleviate the above-identified problems.
According to a first aspect of the present invention, there is provided a verification code recognition method executed in a computing device, the computing device being connected to a data storage device, the data storage device storing therein a feature code library, the feature code library including feature codes corresponding to a plurality of characters, the method comprising the steps of: acquiring a verification code picture to be identified; cutting the verification code picture to obtain a plurality of sub-pictures, wherein each sub-picture corresponds to one character in the verification code; for each sub-picture: calculating the characteristic value of the sub-picture, respectively calculating the difference between the characteristic value and each characteristic code in a characteristic code library, and taking the character corresponding to the characteristic code with the smallest difference as the character corresponding to the sub-picture; and sequentially combining the characters corresponding to the plurality of sub-images to obtain a verification code identification result.
Optionally, in the identifying method of the identifying code according to the present invention, the step of cropping the identifying code picture to obtain a plurality of sub-pictures includes: binarizing the verification code picture to obtain a verification code binary image; determining a projection array of the verification code binary image, wherein the length of the projection array is the same as the number of pixel columns of the verification code binary image, and the element value in the projection array is the number of the verification code pixels included in the corresponding column of pixels of the verification code binary image; determining a plurality of groups of cutting lines according to the projection array, wherein each group of cutting lines comprises a starting line and a finishing line; and cutting the binary image of the verification code according to the plurality of groups of cutting lines to obtain a plurality of sub-pictures.
Optionally, in the identifying method of the identifying code according to the present invention, after the step of binarizing the identifying code picture to obtain the identifying code binary image, the method further includes the steps of: and if the number of the pixels with the same pixel value as the pixels of the verification code in the binary image of the verification code is larger than a first threshold value, performing the inverting operation on the pixel value of the pixel, wherein the pixels with the different pixel values are pixels with different pixel values.
Optionally, in the identifying method of the identifying code according to the present invention, after the step of removing pixels with the number of surrounding difference pixels greater than the first threshold as noise points, the method further includes the steps of: and sharpening the image.
Optionally, in the identifying method of the identifying code according to the present invention, the cutting line is determined according to the following steps: taking a region with element values continuously larger than a second threshold value in the projection array as a target region; the pixel column corresponding to the first element in the target area is taken as a start line, and the pixel column corresponding to the last element in the target area is taken as a finish line.
Optionally, in the identifying method of identifying verification codes according to the present invention, the feature values of the sub-pictures are determined according to the following steps: sequentially arranging pixel values in the sub-pictures according to rows or columns to form a binary sequence; the binary sequence is taken as the characteristic value of the sub-picture.
Optionally, in the identifying method of the identifying code according to the present invention, the degree of difference is an edit distance between the feature value and the feature code.
Optionally, in the identifying method of the identifying code according to the present invention, the characters in the feature code library and the corresponding feature codes thereof are determined according to the following steps: acquiring a verification code sample picture; cutting the verification code sample picture to obtain a plurality of sample sub-pictures, wherein each sample sub-picture corresponds to one character in the verification code; calculating feature codes of the sample sub-pictures respectively, and marking characters corresponding to the sample sub-pictures; and storing the feature codes and the corresponding character association.
Optionally, in the identifying method of the identifying code according to the present invention, the feature code is determined according to the following steps: sequentially arranging pixel values in the binary image corresponding to the sample sub-image according to rows or columns to form a binary sequence; the binary sequence is used as the characteristic code of the sample sub-picture.
According to a second aspect of the present invention there is provided a computing device comprising: at least one processor; and a memory storing program instructions that, when read and executed by the processor, cause the computing device to perform the verification code identification method as described above.
According to a third aspect of the present invention, there is provided a readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform a verification code recognition method as described above.
According to the technical scheme, the feature code library is established by processing the plurality of verification code sample pictures, and the feature code library comprises feature codes corresponding to a plurality of characters. And cutting the verification code picture to be identified to obtain a plurality of sub-pictures, wherein each sub-picture corresponds to one character in the verification code. Then, for each sub-picture, calculating the characteristic value of the sub-picture, respectively calculating the difference degree of the characteristic value and each characteristic code in a characteristic code library, and taking the character corresponding to the characteristic code with the smallest difference degree as the character corresponding to the sub-picture. And finally, sequentially combining the characters corresponding to the plurality of sub-images to obtain the identifying result of the identifying code.
According to the technical scheme, the verification code is rapidly and accurately identified, the time cost for a user to acquire information is saved, and the smoothness and the use experience of the user operation are remarkably improved.
The foregoing description is only an overview of the present invention, and is intended to be implemented in accordance with the teachings of the present invention in order that the same may be more clearly understood and to make the same and other objects, features and advantages of the present invention more readily apparent.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which set forth the various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to fall within the scope of the claimed subject matter. The above, as well as additional objects, features, and advantages of the present disclosure will become more apparent from the following detailed description when read in conjunction with the accompanying drawings. Like reference numerals generally refer to like parts or elements throughout the present disclosure.
FIG. 1 shows a schematic diagram of a captcha identification system 100 in accordance with one embodiment of the present invention;
FIG. 2 shows a schematic diagram of a computing device 200 according to one embodiment of the invention;
FIG. 3 illustrates a flow chart of a feature code library creation method 300 according to one embodiment of the invention;
FIGS. 4A-4G are schematic diagrams illustrating a process of creating a feature code library according to one embodiment of the invention;
FIG. 5 illustrates a flow chart of a verification code identification method 500 according to one embodiment of the invention;
fig. 6 is a schematic diagram illustrating a verification code recognition process and recognition results according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
FIG. 1 shows a schematic diagram of a captcha identification system 100 in accordance with one embodiment of the present invention. As shown in fig. 1, the verification code identification system 100 includes a computing device 200 and a data storage 110. It should be noted that the captcha identification system 100 shown in FIG. 1 is merely exemplary, and although only one computing device and one data storage device are shown, in particular implementations, different numbers of computing devices and data storage devices may be included in the captcha identification system, and the present invention is not limited to the number of computing devices and data storage devices included in the captcha identification system.
The computing device 200 is a device with communication and computing capabilities, which may be implemented as a server, workstation, etc., as well as a personal computer configured as a desktop computer, notebook computer, etc., and in some cases, the computing device 200 may also be implemented as a terminal device such as a cell phone, tablet computer, smart wearable device, internet of things device, etc.
The data storage device 110 may be a relational database such as MySQL, ACCESS, etc., or a non-relational database such as NoSQL, etc.; the data storage device 110 may be a local database residing in the computing device 200, or may be a distributed database, such as HBase, disposed at a plurality of geographic locations, and in any case, the data storage device 110 is used to store data, and the specific deployment and configuration of the data storage device 110 is not limited by the present invention.
The computing device 200 is connected to the data storage 110, which can write data into the data storage 110 and retrieve data stored in the data storage 110. For example, the computing device 200 may directly read and write data in the data storage device 110 (when the data storage device 110 is a local database of the computing device 200), or may access the internet through a wired or wireless manner, and read and write data in the data storage device 110 through a data interface.
In an embodiment of the present invention, the computing device 200 may execute the feature code library creating method 300 of the present invention, and process a large number of verification code sample pictures to determine feature codes corresponding to a plurality of characters, and store the characters and the feature codes corresponding thereto in association with the data storage device 110, thereby creating a feature code library. Based on the established feature code library, the computing device 200 may execute the identifying method 500 of the present invention, process the identifying code picture to be identified, cut out the sub-picture aiming at the single identifying code character from the identifying code picture, calculate the feature value of each sub-picture, compare the feature value with the feature code in the feature code library, and use the character corresponding to the feature code with the minimum difference degree as the character corresponding to the sub-picture. And then, sequentially combining the characters corresponding to the sub-images, thereby obtaining the identifying result of the identifying code.
The feature code library establishing method 300 and the feature code identifying method 500 realize quick and accurate identification of verification codes, save time cost for a user to acquire information, and remarkably improve smoothness and use experience of user operation.
It should be noted that, although only one computing device 200 is shown in the embodiment shown in fig. 1, those skilled in the art will appreciate that the computing device performing the feature code library creating method 300 and the verification code identifying method 500 may be the same computing device or different computing devices. The computing device executing the feature code library creating method 300 is configured to store and update the feature code library in the data storage 110; the computing device executing the identifying method 500 is used for identifying the identifying code picture according to the feature code library stored in the data storage 110.
FIG. 2 shows a schematic diagram of a computing device 200 according to one embodiment of the invention. It should be noted that the computing device 200 shown in fig. 2 is only an example, and in practice, the computing device for implementing the identifying method of the identifying code of the present invention may be any type of device, and the hardware configuration of the computing device may be the same as the computing device 200 shown in fig. 2 or may be different from the computing device 200 shown in fig. 2. In practice, the computing device for implementing the identifying method of the verification code of the present invention may add or delete hardware components of the computing device 200 shown in fig. 2, and the present invention is not limited to the specific hardware configuration of the computing device.
As shown in FIG. 2, in a basic configuration 202, computing device 200 typically includes a system memory 206 and one or more processors 204. A memory bus 208 may be used for communication between the processor 204 and the system memory 206.
Depending on the desired configuration, the processor 204 may be any type of processing including, but not limited to: a microprocessor (μp), a microcontroller (μc), a digital information processor (DSP), or any combination thereof. Processor 204 may include one or more levels of cache, such as a first level cache 210 and a second level cache 212, a processor core 214, and registers 216. The example processor core 214 may include an Arithmetic Logic Unit (ALU), a Floating Point Unit (FPU), a digital signal processing core (DSP core), or any combination thereof. The example memory controller 218 may be used with the processor 204, or in some implementations, the memory controller 218 may be an internal part of the processor 204.
Depending on the desired configuration, system memory 206 may be any type of memory including, but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. Physical memory in a computing device is often referred to as volatile memory, RAM, and data in disk needs to be loaded into physical memory in order to be read by processor 204. The system memory 206 may include an operating system 220, one or more applications 222, and program data 224. In some implementations, the application 222 may be arranged to execute instructions on an operating system by the one or more processors 204 using the program data 224. The operating system 220 may be, for example, linux, windows or the like, which includes program instructions for handling basic system services and performing hardware-dependent tasks. The application 222 includes program instructions for implementing various user desired functions, and the application 222 may be, for example, a browser, instant messaging software, a software development tool (e.g., integrated development environment IDE, compiler, etc.), or the like, but is not limited thereto. When an application 222 is installed into computing device 200, a driver module may be added to operating system 220.
When the computing device 200 starts up running, the processor 204 reads the program instructions of the operating system 220 from the memory 206 and executes them. Applications 222 run on top of operating system 220, utilizing interfaces provided by operating system 220 and underlying hardware, to implement various user-desired functions. When the user launches the application 222, the application 222 is loaded into the memory 206, and the processor 204 reads and executes the program instructions of the application 222 from the memory 206.
Computing device 200 may also include an interface bus 240 that facilitates communication from various interface devices (e.g., output devices 242, peripheral interfaces 244, and communication devices 246) to basic configuration 202 via bus/interface controller 230. The example output device 142 includes a graphics processing unit 248 and an audio processing unit 250. They may be configured to facilitate communication with various external devices, such as a display or speakers, via one or more a/V ports 252. The example peripheral interface 244 may include a serial interface controller 254 and a parallel interface controller 256, which may be configured to facilitate communication via one or more I/O ports 258 and external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripherals (e.g., printer, scanner, etc.). The example communication device 246 may include a network controller 260 that may be arranged to facilitate communication with one or more other computing devices 262 over a network communication link via one or more communication ports 264.
The network communication link may be one example of a communication medium. Communication media may typically be embodied by computer readable instructions, data structures, program modules, and may include any information delivery media in a modulated data signal, such as a carrier wave or other transport mechanism. A "modulated data signal" may be a signal that has one or more of its data set or changed in such a manner as to encode information in the signal. By way of non-limiting example, communication media may include wired media such as a wired network or special purpose network, and wireless media such as acoustic, radio Frequency (RF), microwave, infrared (IR) or other wireless media. The term computer readable media as used herein may include both storage media and communication media.
In the computing device 200 according to the present invention, the application 222 includes instructions for performing the feature code library creation method 300 and/or the verification code identification method 500 of the present invention, which may instruct the processor 104 to perform the feature code library creation method 300 and/or the verification code identification method 500 of the present invention to achieve quick and accurate identification of the verification code.
Fig. 3 shows a flow chart of a feature code library creation method 300 according to one embodiment of the invention. The method 300 is executed in a computing device (e.g., the computing device 200 described above) and is configured to establish a feature code library according to the verification code sample picture, where the feature code library includes feature codes corresponding to characters. As shown in fig. 3, the method 300 begins at step S310.
In step S310, a verification code sample picture is acquired.
The method for establishing the feature code library requires a large number of verification code sample pictures, the method is not limited by the acquisition mode of the verification code sample pictures, and any method capable of acquiring a large number of verification code sample pictures is within the protection scope of the method. For example, a crawler program can be adopted to automatically capture and store the identifying code pictures from the webpage, and the identifying code pictures are used as identifying code sample pictures for establishing a feature code library; alternatively, a plurality of different verification code generation algorithms can be adopted to generate the verification code picture as a verification code sample picture for establishing the feature code library; etc. The obtained verification code sample picture can be an image of any channel such as a color image, a gray image, a binary image and the like, or can be any format such as jpg, png, bmp and the like.
Fig. 4A shows an example of a captcha sample picture. It should be noted that, the verification code sample picture shown in fig. 4A is actually a color image, and the drawing of the specification may not be a color image, so it is presented in a gray scale. As shown in fig. 4A, the captcha sample picture is for the character "6+? The image of=17″ is blurred, and an interference line, a noise point, and the like are added.
For each verification code sample picture obtained in step S310, processing is required according to subsequent steps S320 to S340.
In step S320, the verification code sample picture is cut to obtain a plurality of sample sub-pictures, each sample sub-picture corresponding to a character in the verification code.
According to one embodiment, step S320 may be further implemented as follows steps S322-S328.
In step S322, the verification code sample image is binarized to obtain a sample binary image.
It should be noted that the present invention is not limited to the specific algorithm used for binarization, and any image binarization algorithm is within the protection scope of the present invention. For example, binarization may be achieved by a threshold dividing method, that is, setting a threshold, setting a pixel value of a pixel having a pixel value greater than the threshold to 1, and setting a pixel value of a pixel having a pixel value less than the threshold to 0. The invention is not limited to a specific setting mode of the threshold value. Fig. 4B shows a sample binary image obtained by binarizing the verification code sample picture shown in fig. 4A.
According to one embodiment, after obtaining the sample binary image, noise reduction processing is further performed on the sample binary image to remove noise points in the sample binary image. The invention does not limit the specific algorithm adopted by the noise reduction processing, and any image noise reduction algorithm is within the protection scope of the invention.
Considering that in a sample binary image, the color of the noise point is generally the same as the color of the character in the verification code, and the area of the noise point is smaller, according to one embodiment, the sample binary image may be noise reduced as follows: and if the number of the pixels with the same pixel value as the verification code pixels in the sample binary image is larger than a first threshold value, performing inverse operation on the pixel values of the pixels to remove the pixels as noise points, wherein the pixels with the same pixel value as the verification code pixels in the sample binary image are pixels with different pixel values in the surrounding pixels, and the verification code pixels are pixels corresponding to the verification code characters in the sample binary image. The inverting operation changes the pixel value from 0 to 1 or from 1 to 0. Since there are at most 8 surrounding pixels (8 neighborhoods) in a pixel, the first threshold value can be theoretically set to any integer from 0 to 7, and the specific value can be set by a person skilled in the art according to the actual situation, which is not limited in the present invention. In one embodiment, the first threshold may be set to 5.
For example, for the sample binary image shown in fig. 4B, the captcha character appears black and the background color is white, so the pixel value of the captcha pixel is 0 and the pixel value of the background pixel is 1. The first threshold is set to 5. Then, for each black pixel (pixel value is 0) in fig. 4B, if the number of white pixels (pixel value is 1) is greater than 5 out of the surrounding 8 pixels of the pixel, the pixel is taken as a noise point and the pixel value thereof is inverted. The original pixel value of the noise point is 0, and the pixel value of the noise point is changed into 1 after the original pixel value is inverted, and the noise point is removed by displaying a white background color. The denoised image is shown in fig. 4C.
According to one embodiment, in the noise reduction process, in order to facilitate the determination of the size and the position of the noise point, the sample binary image may be flipped (invart), that is, the pixel values of all the pixels in the sample binary image are inverted. And then the method is adopted to carry out noise reduction on the inverted image, and the image obtained after noise reduction is overturned, so that the noise reduction result of the original sample binary image is obtained.
According to one embodiment, after the noise reduction processing is performed on the sample binary image, the noise-reduced image is further subjected to sharpening processing, so that the accuracy of the sample sub-picture cut out later is improved. The invention does not limit the specific algorithm adopted in the sharpening process, and any image sharpening algorithm is within the protection scope of the invention.
The binarization, noise reduction, sharpening, etc. processes in step S322 may be collectively referred to as a preprocessing process of the verification code sample image. After preprocessing the binary image of the verification code, step S324 is performed.
In step S324, a projection array of the sample binary image is determined, the length of the projection array is the same as the number of columns of pixels of the sample binary image, and the element value in the projection array is the number of verification code pixels included in the corresponding column of pixels of the sample binary image.
Step S324 is equivalent to projecting the binary image of the sample in the vertical direction (onto the x-axis) to obtain a one-dimensional array, i.e. a projection array. The element value of the i-th element in the array is the number of captcha pixels included in the i-th column of pixels of the sample binary image. For example, the sample binary image has 200 columns, the column numbers are 0-199, the pixel value of the verification code pixel is 1 (white), the pixel value of the background pixel is 0 (black), then the length of the projection array x is 200, wherein the element values x [0], x [1], … and x [199] respectively represent the number of white pixels included in the 0 th column, the 1 st column, the … th column and the 199 th column of the sample binary image.
Further, after determining the projection array, the projection histogram may be drawn with the horizontal axis representing the element subscript of the projection array and the vertical axis representing the size of the element value of the projection array. The projection histogram may more intuitively exhibit the number of captcha pixels included in each column of pixels of the sample binary image.
Fig. 4D shows a projection histogram corresponding to fig. 4C. The projection histogram shown in fig. 4D shows 6 distinct regions, which indicates that the verification code pixels in the pixel columns corresponding to the 6 regions are relatively dense, and the verification code in the sample binary image can be split into 6 characters.
Subsequently, in step S326, a plurality of sets of cut lines, each set of cut lines including a start line and a finish line, are determined from the projection array.
According to one embodiment, the trim line may be determined as follows: taking a region with element values continuously larger than a second threshold value in the projection array as a target region; the pixel column corresponding to the first element in the target area is taken as a start line, and the pixel column corresponding to the last element in the target area is taken as a finish line. The second threshold value can be set by a person skilled in the art according to the actual situation, and the specific value of the second threshold value is not limited by the invention.
In the process of determining the cutting line, a second threshold value is set first, then elements in the projection array are traversed, when elements with the first value being larger than the second threshold value appear, the elements are used as starting points of a target area, whether the values of subsequent elements are larger than the second threshold value is continuously judged, when elements with the values being smaller than or equal to the second threshold value appear, the last element of the elements is used as the end point of the target area, and therefore a target area is divided. And then, continuing traversing the subsequent elements, taking the element as a starting point of a new target area when an element with a value larger than a second threshold value appears again, continuously judging whether the value of the subsequent element is larger than the second threshold value, and taking the last element of the element as an ending point of the current target area when the element with a value smaller than or equal to the second threshold value appears, so that a target area is further divided. The above process is repeated until all elements in the projected array have been traversed. Finally, a plurality of target areas may be divided, each target area corresponding to a set of clipping lines, a pixel column corresponding to a first element in each target area being a start line, and a pixel column corresponding to a last element in the target area being a finish line.
For example, from the projection histogram shown in fig. 4D (the projection histogram is an intuitive graphical representation of a projection array and thus corresponds to a projection array), the cut line of fig. 4C can be determined as shown in fig. 4E.
Through step S326, a plurality of sets of cutting lines may be obtained, each set of cutting lines including a start line and a finish line. Subsequently, step S328 is performed.
Subsequently, in step S328, the sample binary image is cropped according to the plurality of groups of cropping lines to obtain a plurality of sample sub-pictures. Each set of crop lines may be correspondingly cropped to form a sample sub-picture, each sample sub-picture corresponding to a character in the captcha.
For example, by cropping the sample binary image shown in fig. 4C according to the cropping line shown in fig. 4E, 6 sample sub-pictures as shown in fig. 4F can be obtained.
A plurality of sample sub-pictures, each corresponding to a character in the verification code, may be obtained, via step S320. Subsequently, step S330 is performed.
In step S330, the feature codes of the sub-pictures of each sample are calculated, and the characters corresponding to the sub-pictures of each sample are marked.
According to one embodiment, the feature code of a sample sub-picture may be determined as follows: and sequentially arranging pixel values in the binary image corresponding to the sample sub-image according to rows or columns to form a binary sequence, and taking the binary sequence as a feature code of the sample sub-image.
It will be understood by those skilled in the art that if the sample sub-picture is obtained according to the steps S322 to S328, the sample sub-picture itself is a binary image, i.e. the binary image corresponding to the sample sub-picture is the sample sub-picture itself. If the sample sub-picture is obtained by clipping the original verification code sample image by adopting other steps, the sample sub-picture may be colored, and at this time, the sample sub-picture needs to be further binarized to obtain a binary image corresponding to the sample sub-picture. The characters corresponding to the sample sub-pictures can be marked by one skilled in the art.
Fig. 4G shows the calculation result of the feature codes of the 6 sample sub-pictures in fig. 4F and the characters corresponding to the respective sample sub-pictures. In fig. 4G, the leftmost column 410 is the number of the sample sub-picture, the column 420 is the sample sub-picture, the column 430 is the character corresponding to the sample sub-picture, and the column 440 is the feature code of the sample sub-picture.
After determining the feature codes of the sample sub-picture and its corresponding characters, step S340 is performed.
Subsequently, in step S340, the feature codes and their corresponding character associations are stored.
As shown in fig. 4G, clicking on the button 450 stores the feature code and its corresponding character association to the data storage device 110.
By executing the method 300, a feature code library may be established, where the feature code library includes feature codes corresponding to a plurality of characters. As will be appreciated by those skilled in the art, since the same character may exhibit different appearances in different captcha sample pictures, the same character may correspond to a plurality of different sample sub-pictures, and accordingly, in a feature code library, the same character may correspond to a plurality of different feature codes. Based on the established feature code library, the verification code identification method 500 of the present invention may be performed.
Fig. 5 shows a flow chart of a verification code identification method 500 according to one embodiment of the invention. The method 500 is performed in a computing device (e.g., the aforementioned computing device 200) for identifying a verification code from an established feature code library. As shown in fig. 5, the method 500 begins at step S510.
In step S510, a verification code picture to be identified is acquired.
Subsequently, in step S520, the verification code picture is cut to obtain a plurality of sub-pictures, each corresponding to one character in the verification code.
According to one embodiment, step S520 may be further implemented as follows steps S522-S528.
In step S522, the verification code picture is binarized to obtain a verification code binary image.
It should be noted that the present invention is not limited to the specific algorithm used for binarization, and any image binarization algorithm is within the protection scope of the present invention. For example, binarization may be achieved by a threshold dividing method, that is, setting a threshold, setting a pixel value of a pixel having a pixel value greater than the threshold to 1, and setting a pixel value of a pixel having a pixel value less than the threshold to 0. The invention is not limited to a specific setting mode of the threshold value.
According to one embodiment, after obtaining the binary image of the verification code, noise reduction processing is further performed on the binary image of the verification code to remove noise points in the binary image of the verification code. The invention does not limit the specific algorithm adopted by the noise reduction processing, and any image noise reduction algorithm is within the protection scope of the invention.
According to one embodiment, after obtaining the binary image of the verification code, noise reduction processing is further performed on the binary image of the verification code to remove noise points in the binary image of the verification code. The invention does not limit the specific algorithm adopted by the noise reduction processing, and any image noise reduction algorithm is within the protection scope of the invention.
Considering that in the verification code binary image, the color of the noise point is generally the same as the color of the character in the verification code, and the area of the noise point is smaller, according to one embodiment, the verification code binary image may be noise reduced as follows: and if the number of the pixels with the same pixel value as the pixels of the verification code in the binary image of the verification code is larger than a first threshold value, performing inverse operation on the pixel values of the pixels to remove the pixels as noise points, wherein the pixels with the same pixel value as the pixels in the pixels with different pixel values are used as the pixels of the pixels with different pixel values in the binary image of the verification code, and the pixels with different pixel values are used as the pixels corresponding to the characters of the verification code in the binary image of the verification code. The inverting operation changes the pixel value from 0 to 1 or from 1 to 0. Since there are at most 8 surrounding pixels (8 neighborhoods) in a pixel, the first threshold value can be theoretically set to any integer from 0 to 7, and the specific value can be set by a person skilled in the art according to the actual situation, which is not limited in the present invention. In one embodiment, the first threshold may be set to 5.
According to one embodiment, in the noise reduction process, in order to facilitate the determination of the size and position of the noise, the binary image of the verification code may be flipped (invart), that is, the pixel values of all the pixels in the binary image of the verification code are inverted. And then adopting the method to reduce the noise of the inverted image, and overturning the image obtained after noise reduction, so as to obtain the noise reduction result of the binary image of the original verification code.
According to one embodiment, after the noise reduction processing is performed on the binary image of the verification code, the sharpening processing is further performed on the noise-reduced image, so that the accuracy of the sub-picture cut out later is improved. The invention does not limit the specific algorithm adopted in the sharpening process, and any image sharpening algorithm is within the protection scope of the invention.
The binarization, noise reduction, sharpening, etc. processes in step S522 may be collectively referred to as a preprocessing process of the verification code sample image. After preprocessing, step S524 is performed.
In step S524, a projection array of the binary image of the verification code is determined, the length of the projection array is the same as the number of columns of pixels of the binary image of the verification code, and the element values in the projection array are the number of pixels of the verification code included in the corresponding column of pixels of the binary image of the verification code.
Step S524 is equivalent to projecting the binary image of the verification code along the vertical direction (onto the x-axis) to obtain a one-dimensional array, i.e. a projection array. The element value of the i-th element in the array is the number of captcha pixels included in the i-th column of pixels of the captcha binary image. For example, the binary image of the verification code has 200 columns, the column numbers are 0-199, the pixel value of the pixel of the verification code is 1 (white), the pixel value of the background pixel is 0 (black), then the length of the projection array x is 200, wherein the element values x [0], x [1], … and x [199] respectively represent the number of white pixels included in the 0 th column, the 1 st column, the … th column and the 199 th column of the binary image of the verification code.
Further, after determining the projection array, the projection histogram may be drawn with the horizontal axis representing the element subscript of the projection array and the vertical axis representing the size of the element value of the projection array. The projection histogram may more intuitively exhibit the number of captcha pixels included in each column of pixels of the captcha binary image.
Subsequently, in step S526, a plurality of sets of cut lines, each set of cut lines including a start line and a finish line, are determined from the projection array.
According to one embodiment, the trim line may be determined as follows: taking a region with element values continuously larger than a second threshold value in the projection array as a target region; the pixel column corresponding to the first element in the target area is taken as a start line, and the pixel column corresponding to the last element in the target area is taken as a finish line. The second threshold value can be set by a person skilled in the art according to the actual situation, and the specific value of the second threshold value is not limited by the invention.
In the process of determining the cutting line, a second threshold value is set first, then elements in the projection array are traversed, when elements with the first value being larger than the second threshold value appear, the elements are used as starting points of a target area, whether the values of subsequent elements are larger than the second threshold value is continuously judged, when elements with the values being smaller than or equal to the second threshold value appear, the last element of the elements is used as the end point of the target area, and therefore a target area is divided. And then, continuing traversing the subsequent elements, taking the element as a starting point of a new target area when an element with a value larger than a second threshold value appears again, continuously judging whether the value of the subsequent element is larger than the second threshold value, and taking the last element of the element as an ending point of the current target area when the element with a value smaller than or equal to the second threshold value appears, so that a target area is further divided. The above process is repeated until all elements in the projected array have been traversed. Finally, a plurality of target areas may be divided, each target area corresponding to a set of clipping lines, a pixel column corresponding to a first element in each target area being a start line, and a pixel column corresponding to a last element in the target area being a finish line.
Through step S526, a plurality of sets of cutting lines, each set of cutting lines including a start line and a finish line, may be obtained. Subsequently, step S528 is performed.
In step S528, the binary image of the verification code is cropped according to the plurality of groups of cropping lines to obtain a plurality of sub-pictures. Each group of clipping lines may clip a sub-picture, each sub-picture corresponding to a character in the verification code.
Through step S520, a plurality of sub-pictures may be obtained, where each sub-picture corresponds to a character in the verification code. Subsequently, step S530 is performed.
In step S530, for each sub-picture: calculating the characteristic value of the sub-picture, respectively calculating the difference between the characteristic value and each characteristic code in the characteristic code library, and taking the character corresponding to the characteristic code with the smallest difference as the character corresponding to the sub-picture.
According to one embodiment, the feature values of the sub-pictures may be determined according to the following steps: the pixel values in the sub-picture are sequentially arranged according to rows or columns to form a binary sequence, and the binary sequence is used as the characteristic value of the sub-picture. It will be understood by those skilled in the art that if the sub-picture is obtained according to the steps S522 to S528, the sub-picture itself is a binary image, and the pixel values in the binary image are sequentially arranged in rows or columns, and the obtained binary sequence is the feature value of the sub-picture.
It should be noted that, in step S530, whether the pixel values in the sub-picture are sequentially arranged in rows or columns depends on the arrangement of the pixel values of the sample sub-picture when the feature code library is generated, that is, the arrangement adopted in step S530 should be the same as the arrangement adopted in the foregoing step S330. If the feature codes of the sample sub-picture are determined in the line arrangement manner in the step S330, the feature values of the sub-picture should be determined in the line arrangement manner in the step S530; if the characteristic codes of the sample sub-picture are determined in the column arrangement in the aforementioned step S330, the characteristic values of the sub-picture should also be determined in the column arrangement in step S530.
After the characteristic value of the sub-picture is determined, the difference degree of the characteristic value and each characteristic code in the characteristic code library is calculated, and the character corresponding to the characteristic code with the smallest difference degree is used as the character corresponding to the sub-picture.
According to one embodiment, the difference between the feature value and the edit distance of the feature code may be defined as the difference between the feature value and the edit distance. The edit distance is also called a Levenshtein distance, and refers to the minimum number of editing operations required for converting one character string into another character string. The editing operations of the license include substitution, insertion, and deletion of characters.
Through step S530, the characters corresponding to the respective sub-pictures can be obtained. Subsequently, step S540 is performed.
In step S540, the characters corresponding to the plurality of sub-images are sequentially combined to obtain the identifying result of the identifying code.
Fig. 6 is a schematic diagram illustrating a verification code recognition process and recognition results according to an embodiment of the present invention. As shown in fig. 6, region 610 is used to show the passcode picture to be identified. It should be noted that, although the verification code picture shown in the area 610 is the same as the verification code sample picture shown in fig. 4A, those skilled in the art will understand that, in practice, the verification code picture to be identified may be one of a large number of verification code sample pictures used for training the feature code library, or may be another picture different from all the verification code sample pictures.
The area 620 is used to display the preprocessing result of the captcha image, where the preprocessing may include binarization, noise reduction, sharpening, and so on. The first threshold in fig. 6, and Inv are parameters during the noise reduction process described in the foregoing step S522, and a person skilled in the art can set the first threshold by adjusting the value in the bounded input control 630, and whether or not to perform image flipping by checking or not checking the check box 640. The area 650 is used to display the projection histogram of the preprocessed binary image of the verification code, and the second threshold in fig. 6 is the parameter in determining the clipping process described in the foregoing step S526. The area 660 is used to display a cut line, and Range in the figure indicates the number of sub-pictures cut out according to the cut line. Region 670 is used to output identifying result of identifying code, as shown in fig. 6, the identifying result of identifying code is "6+? =17 ".
A11, a readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the verification code identification method of any of claims 1-9.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions of the methods and apparatus of the present invention, may take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard drives, U-drives, floppy diskettes, CD-ROMs, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to perform the verification code identification method of the present invention in accordance with instructions in said program code stored in the memory.
By way of example, and not limitation, readable media comprise readable storage media and communication media. The readable storage medium stores information such as computer readable instructions, data structures, program modules, or other data. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Combinations of any of the above are also included within the scope of readable media.
In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with examples of the invention. The required structure for a construction of such a system is apparent from the description above. In addition, the present invention is not directed to any particular programming language. It will be appreciated that the teachings of the present invention described herein may be implemented in a variety of programming languages, and the above description of specific languages is provided for disclosure of enablement and best mode of the present invention.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be construed as reflecting the intention that: i.e., the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in a device as described in this embodiment, or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into a plurality of sub-modules.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments can be used in any combination.
Furthermore, some of the embodiments are described herein as methods or combinations of method elements that may be implemented by a processor of a computer system or by other means of performing the functions. Thus, a processor with the necessary instructions for implementing the described method or method element forms a means for implementing the method or method element. Furthermore, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is for carrying out the functions performed by the elements for carrying out the objects of the invention.
As used herein, unless otherwise specified the use of the ordinal terms "first," "second," "third," etc., to describe a general object merely denote different instances of like objects, and are not intended to imply that the objects so described must have a given order, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of the above description, will appreciate that other embodiments are contemplated within the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the appended claims. The disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is defined by the appended claims.

Claims (9)

1. The verification code identification method is executed in a computing device, the computing device is connected with a data storage device, a feature code library is stored in the data storage device, the feature code library comprises feature codes corresponding to a plurality of characters, and for each character, the feature code library comprises feature codes corresponding to a plurality of appearance forms of the feature code library, and the method comprises the following steps:
acquiring a verification code picture to be identified;
cutting the verification code picture to obtain a plurality of sub-pictures, wherein each sub-picture corresponds to one character in the verification code;
for each sub-picture: calculating the characteristic value of the sub-picture, and calculating the difference degree of the characteristic value and each characteristic code in a characteristic code library respectively, and taking the character corresponding to the characteristic code with the smallest difference degree as the character corresponding to the sub-picture, wherein the calculating the characteristic value of the sub-picture comprises the following steps: sequentially arranging pixel values in a binary image corresponding to the sub-image according to rows or columns to form a binary sequence, and taking the binary sequence as a characteristic value of the sub-image; the difference degree is the editing distance between the characteristic value and the characteristic code;
and sequentially combining the characters corresponding to the plurality of sub-images to obtain a verification code identification result.
2. The method of claim 1, wherein cropping the captcha picture to obtain a plurality of sub-pictures comprises:
binarizing the verification code picture to obtain a verification code binary image;
determining a projection array of the verification code binary image, wherein the length of the projection array is the same as the number of pixel columns of the verification code binary image, and the element value in the projection array is the number of the verification code pixels included in the corresponding column of pixels of the verification code binary image;
determining a plurality of groups of cutting lines according to the projection array, wherein each group of cutting lines comprises a starting line and a finishing line;
and cutting the binary image of the verification code according to the plurality of groups of cutting lines to obtain a plurality of sub-pictures.
3. The method of claim 2, wherein after the step of binarizing the captcha picture to obtain a captcha binary image, further comprising the step of:
and if the number of the pixels with the same pixel value as the pixels of the verification code in the binary image of the verification code is larger than a first threshold value, performing the inverting operation on the pixel value of the pixel, wherein the pixels with the different pixel values are pixels with different pixel values.
4. The method of claim 3, further comprising, after the step of removing pixels having a number of surrounding difference pixels greater than the first threshold as noise points, the step of: and sharpening the image.
5. The method of any of claims 2-4, wherein the trim line is determined by:
taking a region with element values continuously larger than a second threshold value in the projection array as a target region;
the pixel column corresponding to the first element in the target area is taken as a start line, and the pixel column corresponding to the last element in the target area is taken as a finish line.
6. The method of claim 1, wherein the characters in the feature code library and their corresponding feature codes are determined by:
acquiring a verification code sample picture;
cutting the verification code sample picture to obtain a plurality of sample sub-pictures, wherein each sample sub-picture corresponds to one character in the verification code;
calculating feature codes of the sample sub-pictures respectively, and marking characters corresponding to the sample sub-pictures;
and storing the feature codes and the corresponding character association.
7. The method of claim 6, wherein the signature is determined by:
Sequentially arranging pixel values in the binary image corresponding to the sample sub-image according to rows or columns to form a binary sequence;
the binary sequence is used as the characteristic code of the sample sub-picture.
8. A computing device, comprising:
at least one processor and a memory storing program instructions;
the program instructions, when read and executed by the processor, cause the computing device to perform the passcode identification method of any one of claims 1-7.
9. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the verification code identification method of any one of claims 1-7.
CN201911000527.3A 2019-10-21 2019-10-21 Verification code identification method and computing equipment Active CN110766068B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911000527.3A CN110766068B (en) 2019-10-21 2019-10-21 Verification code identification method and computing equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911000527.3A CN110766068B (en) 2019-10-21 2019-10-21 Verification code identification method and computing equipment

Publications (2)

Publication Number Publication Date
CN110766068A CN110766068A (en) 2020-02-07
CN110766068B true CN110766068B (en) 2023-09-19

Family

ID=69331558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911000527.3A Active CN110766068B (en) 2019-10-21 2019-10-21 Verification code identification method and computing equipment

Country Status (1)

Country Link
CN (1) CN110766068B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582262A (en) * 2020-05-07 2020-08-25 京源中科科技股份有限公司 Segment type liquid crystal picture content identification method, device, equipment and storage medium
CN112257718A (en) * 2020-09-24 2021-01-22 南阳柯丽尔科技有限公司 Text recognition method and device for radiology department films
CN113033550B (en) * 2021-03-15 2022-04-15 合肥联宝信息技术有限公司 Image detection method and device and computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021376A (en) * 2014-06-05 2014-09-03 北京乐动卓越科技有限公司 Verification code identifying method and device
CN107273890A (en) * 2017-05-26 2017-10-20 亿海蓝(北京)数据技术股份公司 Graphical verification code recognition methods and device for character combination
WO2019041424A1 (en) * 2017-08-28 2019-03-07 上海壹账通金融科技有限公司 Verification code identification method and apparatus, computer device, and computer storage medium
CN109948621A (en) * 2019-03-20 2019-06-28 南京工业大学 A kind of image procossing and character segmentation method based on picture validation code

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021376A (en) * 2014-06-05 2014-09-03 北京乐动卓越科技有限公司 Verification code identifying method and device
CN107273890A (en) * 2017-05-26 2017-10-20 亿海蓝(北京)数据技术股份公司 Graphical verification code recognition methods and device for character combination
WO2019041424A1 (en) * 2017-08-28 2019-03-07 上海壹账通金融科技有限公司 Verification code identification method and apparatus, computer device, and computer storage medium
CN109948621A (en) * 2019-03-20 2019-06-28 南京工业大学 A kind of image procossing and character segmentation method based on picture validation code

Also Published As

Publication number Publication date
CN110766068A (en) 2020-02-07

Similar Documents

Publication Publication Date Title
CN110766068B (en) Verification code identification method and computing equipment
CN108010031B (en) Portrait segmentation method and mobile terminal
US11663817B2 (en) Automated signature extraction and verification
US10902283B2 (en) Method and device for determining handwriting similarity
CN108875731B (en) Target identification method, device, system and storage medium
CN109829453A (en) It is a kind of to block the recognition methods of text in card, device and calculate equipment
JP5701388B2 (en) Digital image recognition
JP2016523397A (en) Method and system for information recognition
US9330331B2 (en) Systems and methods for offline character recognition
CN111368638A (en) Spreadsheet creation method and device, computer equipment and storage medium
CN112183296B (en) Simulated bill image generation and bill image recognition method and device
CN110795714A (en) Identity authentication method and device, computer equipment and storage medium
JP5832656B2 (en) Method and apparatus for facilitating detection of text in an image
CN111783561A (en) Picture examination result correction method, electronic equipment and related products
CN110796130A (en) Method, device and computer storage medium for character recognition
CN113221601A (en) Character recognition method, device and computer readable storage medium
CN110827301A (en) Method and apparatus for processing image
CN108268778B (en) Data processing method, device and storage medium
CN108776959B (en) Image processing method and device and terminal equipment
CN108804652B (en) Method and device for generating cover picture, storage medium and electronic device
CN113221897A (en) Image correction method, image text recognition method, identity verification method and device
CN116631003A (en) Equipment identification method and device based on P & ID drawing, storage medium and electronic equipment
CN108304840B (en) Image data processing method and device
CN115063826A (en) Mobile terminal driver license identification method and system based on deep learning
CN113569834A (en) Business license identification method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant