CN113487001B - Two-dimensional code generation method and device and two-dimensional code identification method and device - Google Patents

Two-dimensional code generation method and device and two-dimensional code identification method and device Download PDF

Info

Publication number
CN113487001B
CN113487001B CN202111046487.3A CN202111046487A CN113487001B CN 113487001 B CN113487001 B CN 113487001B CN 202111046487 A CN202111046487 A CN 202111046487A CN 113487001 B CN113487001 B CN 113487001B
Authority
CN
China
Prior art keywords
positioning point
dimensional code
code
track
point
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
CN202111046487.3A
Other languages
Chinese (zh)
Other versions
CN113487001A (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.)
Feihu Information Technology Tianjin Co Ltd
Original Assignee
Feihu Information Technology Tianjin 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 Feihu Information Technology Tianjin Co Ltd filed Critical Feihu Information Technology Tianjin Co Ltd
Priority to CN202111046487.3A priority Critical patent/CN113487001B/en
Publication of CN113487001A publication Critical patent/CN113487001A/en
Application granted granted Critical
Publication of CN113487001B publication Critical patent/CN113487001B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

The invention provides a two-dimensional code generation method and device and a two-dimensional code identification method and device, wherein the two-dimensional code generation method comprises the following steps: acquiring a resource address to generate a corresponding binary information stream; determining the diameter and the circle center coordinate of the two-dimensional code based on the version of the two-dimensional code, calculating the track radius of an information flow track of the two-dimensional code to be generated, the circle center coordinate of each positioning point, the positioning point radius of each positioning point, the radian degree, the maximum code bit and the effective code bit of each information flow track, and generating the two-dimensional code corresponding to the resource address by combining the diameter, the circle center coordinate, the track number, the track width, the circle center coordinate of each positioning point, the positioning point radius and the track radius, the radian degree, the effective code bit and the maximum code bit of each information flow track. By applying the two-dimensional code generation method, the specific information of each parameter in the two-dimensional code to be generated is accurately calculated, and the data information is borne through the multi-layer circular information stream track, so that the information stream is relatively clear in distribution.

Description

Two-dimensional code generation method and device and two-dimensional code identification method and device
Technical Field
The invention relates to the technical field of two-dimensional codes, in particular to a two-dimensional code generation method and device and a two-dimensional code identification method and device.
Background
The two-dimensional code is a planar graph which is formed by combining a plurality of geometric patterns according to a certain rule and can bear data information, and the two-dimensional code has the characteristics of wide coding range, large information capacity, strong fault-tolerant capability and the like.
The two-dimensional codes in the prior art are generally standard square two-dimensional codes, binary 1 and binary 0 are represented by black and white blocks, and the black and white blocks are stacked in a certain combination mode to form the two-dimensional codes.
Disclosure of Invention
In view of the above, the present invention provides a two-dimensional code generation method and apparatus, and a two-dimensional code identification method and apparatus, by which a circular two-dimensional code is generated, data information is carried through a multi-layer information stream track, and identification of the two-dimensional code is realized through an identification positioning point, so that identification time of the two-dimensional code is shortened, and a success rate of two-dimensional code identification is improved.
A two-dimensional code generation method comprises the following steps:
acquiring a resource address, and generating a binary information stream corresponding to the resource address;
determining a two-dimension code version of a two-dimension code to be generated based on the information flow;
determining the diameter and circle center coordinates of the two-dimension code to be generated based on the two-dimension code version;
determining the preset track number and track width of an information stream track of a two-dimensional code to be generated, and the positioning point radius and positioning point degree of each positioning point;
calculating the track radius of each information stream track based on the two-dimension code diameter and the track width;
determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point, wherein each positioning point comprises a symbol positioning point and a plurality of basic positioning points;
calculating radian degrees and maximum code bits of each information flow track based on the track radius and the track width of each information flow track, wherein the maximum code bits are the maximum information quantity which can be loaded by the information flow tracks;
determining code bits occupied by the positioning points on the information flow tracks and valid code bits in the information flow tracks based on the positioning point radius and the positioning point circle center coordinates of each positioning point;
and generating the two-dimensional code corresponding to the resource address based on the information stream, the diameter of the two-dimensional code, the circle center coordinate, the number of tracks, the track width, the locating point circle center coordinate, the locating point radius, the track radius of each information stream track, the radian degree, the effective code bit and the maximum code bit.
Optionally, the above method, wherein the generating a binary information stream corresponding to the resource address includes:
generating a binary code stream corresponding to the resource address;
generating each error correcting code corresponding to the binary code stream by adopting a preset error correcting algorithm;
and embedding each error correcting code into the binary code stream according to a preset arrangement rule to obtain an information stream corresponding to the resource address.
Optionally, in the method, the embedding each error correction code into the binary code stream according to a preset arrangement rule to obtain an information stream corresponding to the resource address includes:
carrying out interleaving coding processing on the binary code stream embedded with the error correcting code by applying a preset interleaving coding technology;
and carrying out exclusive OR processing on the processed binary code stream to obtain an information stream corresponding to the resource address.
Optionally, the determining, based on the circle center coordinate and the degrees of each positioning point, the circle center coordinate of each positioning point in the two-dimensional code to be generated includes:
determining a preset setting range of a positioning point and a fixed point distance from the setting range to the circle center coordinate, wherein the setting range is a circular track between any two adjacent information stream tracks;
determining the position of each positioning point in the setting range based on the positioning point distance and the degree of each positioning point;
calculating the projection length of each positioning point on the X axis and the Y axis based on the positioning point distance;
and determining the circle center coordinate of each positioning point based on the projection length of each positioning point on the X axis and the Y axis and the circle center coordinate.
A two-dimensional code generation device comprising:
the device comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring a resource address and generating a binary information stream corresponding to the resource address;
the first determining unit is used for determining a two-dimensional code version of a two-dimensional code to be generated based on the information flow;
the second determining unit is used for determining the two-dimension code diameter and the circle center coordinate of the two-dimension code to be generated based on the two-dimension code version;
the third determining unit is used for determining the preset track number and track width of the information stream track of the two-dimensional code to be generated, and the positioning point radius and the positioning point degree of each positioning point;
the first calculation unit is used for calculating the track radius of each information stream track based on the two-dimensional code diameter and the track width;
the fourth determining unit is used for determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point, wherein each positioning point comprises a symbol positioning point and a plurality of basic positioning points;
the second calculation unit is used for calculating radian degrees and maximum code bits of each information flow track based on the track radius and the track width of each information flow track, wherein the maximum code bits are the maximum information quantity which can be loaded by the information flow tracks;
a fifth determining unit, configured to determine, based on a locating point radius and a locating point circle center coordinate of each locating point, a code bit occupied by each locating point on each information stream track and an effective code bit in each information stream track;
and the generating unit is used for generating the two-dimensional code corresponding to the resource address based on the information stream, the diameter of the two-dimensional code, the circle center coordinate, the number of tracks, the track width, the circle center coordinate of the positioning point, the radius of the track of each information stream track, the radian degree, the effective code bit and the maximum code bit.
A two-dimension code identification method is used for identifying a two-dimension code generated by applying the two-dimension code generation method, and comprises the following steps:
collecting a two-dimensional code to be identified;
carrying out binarization processing on the two-dimensional code to obtain a binarized two-dimensional code;
identifying the positioning point position of each basic positioning point in the binaryzation two-dimensional code by applying a preset first identification rule;
identifying the positioning point position of the symbol positioning point in the binaryzation two-dimensional code by applying a preset second identification rule;
determining effective code bits on each information stream track in the binaryzation two-dimensional code based on the positioning point position of each basic positioning point and the positioning point position of the symbol positioning point;
reading the characters on each effective code position, synthesizing binary information flow according to the characters on each effective code position, and deducing the resource address corresponding to the two-dimensional code based on the binary information flow.
Optionally, in the method, the identifying, by using a preset first identification rule, a location point position of each basic location point in the binarized two-dimensional code includes:
determining a preset positioning point outline;
drawing each basic positioning point in the binaryzation two-dimensional code according to the contour of the positioning point by using a preset ant line tool;
and determining the positioning point position of each basic positioning point based on the position of the ant line tool depicting positioning points.
Optionally, in the method, the identifying, by using a preset first identification rule, a location point position of each basic location point in the binarized two-dimensional code includes:
scanning the binaryzation two-dimensional code according to a preset scanning interval and a preset scanning direction by using a preset scanning ray;
determining a scanning area scanned by the scanning ray each time, and checking whether the scanning area scanned by the scanning ray currently contains the center of a positioning point of any basic positioning point or not based on the scanning area scanned each time;
and if the scanning area currently scanned by the scanning ray contains the positioning point circle center of any basic positioning point, determining the position of the basic positioning point based on the scanning interval, the scanning direction and the current scanning times of the scanning ray.
Optionally, the above method, wherein the checking whether the currently scanned scanning area of the scanning ray contains a center of a positioning point of any positioning point includes:
dividing a scanning area through which the scanning rays pass into a plurality of sub-areas, wherein two adjacent sub-areas are line segments formed by dark-color pixel points and line segments formed by light-color pixel points respectively;
determining the area width corresponding to each sub-area, and acquiring a preset locating point width ratio;
checking whether the width ratio of the area width between a plurality of adjacent sub-areas in the scanning area is consistent with the width ratio of the positioning point;
and if the width ratio of the area width between the adjacent sub-areas in the scanning area is consistent with the positioning point width ratio, determining that the scanning area currently scanned by the scanning ray contains the positioning point circle center of at least one positioning point.
Optionally, the identifying, by applying a preset second identification rule, a location point position of a symbol location point in the binarized two-dimensional code includes:
estimating the estimated point of the symbol positioning point based on the positioning point position of each basic positioning point;
drawing detection lines with preset lengths in multiple directions by taking the estimated points as original points;
detecting the number of dark pixel points continuously appearing on each detection line;
judging whether the number of the continuous dark color pixel points on any detection line exceeds a predicted value;
and if the number of the dark-color pixel points continuously appearing on any detection line exceeds the pre-estimated value, moving the pre-estimated point to the direction pointed by the detection line until the number of the dark-color pixel points continuously appearing on all the detection lines does not exceed the pre-estimated value, and determining the current position of the pre-estimated point as the positioning point position of the symbol positioning point.
The method described above, optionally, the reading the character at each valid code bit includes:
determining a code bit reading sequence based on the positioning point position of each basic positioning point, and sequentially reading characters on each effective code bit according to the code bit reading sequence;
when the characters on the effective code bits are read, a preset reading frame is applied to identify the proportion of dark pixel points in the effective code bits occupying the reading frame; if the proportion of the dark pixel points in the currently read effective code bits occupying the reading frame exceeds a preset occupation threshold, determining that the characters of the currently read effective code bits are 1; and if the proportion of the dark pixel points in the currently read effective code bits occupying the reading frame does not exceed a preset occupation threshold value, determining that the characters of the currently read effective code bits are 0.
In the above method, optionally, the deriving a resource address corresponding to the two-dimensional code based on the binary information stream includes:
determining a two-dimensional code version of the two-dimensional code based on each effective code bit;
carrying out XOR reduction operation on the information flow to obtain an operated information flow;
decoding the calculated information stream to obtain a decoded information stream;
determining an error correction level adopted in the decoded information stream based on the two-dimensional code version, and determining each error correction code in the decoded information stream according to the error correction level;
and eliminating each error correcting code in the decoded information stream to obtain a binary code stream, and converting the binary code stream into a resource address corresponding to the two-dimensional code.
A two-dimensional code recognition device includes:
the acquisition unit is used for acquiring the two-dimensional code to be identified;
the processing unit is used for carrying out binarization processing on the two-dimensional code to obtain a binarized two-dimensional code;
the first identification unit is used for identifying the positioning point position of each basic positioning point in the binaryzation two-dimensional code by applying a preset first identification rule;
the second identification unit is used for applying a preset second identification rule to identify the positioning point position of the symbol positioning point in the binaryzation two-dimensional code;
a sixth determining unit, configured to determine, based on the location point position of each basic location point and the location point position of the symbol location point, an effective code bit on each information stream track in the binarized two-dimensional code;
and the derivation unit is used for reading the characters on each effective code bit, synthesizing a binary information stream according to the characters on each effective code bit, and deriving the resource address corresponding to the two-dimensional code based on the binary information stream.
Compared with the prior art, the invention has the following advantages:
the invention provides a two-dimensional code generation method, which comprises the following steps: acquiring a resource address to generate a corresponding binary information stream; determining the diameter and the circle center coordinate of the two-dimensional code based on the version of the two-dimensional code, calculating the track radius of an information flow track of the two-dimensional code to be generated, the circle center coordinate of each positioning point, the positioning point radius of each positioning point, the radian degree, the maximum code bit and the effective code bit of each information flow track, and generating the two-dimensional code corresponding to the resource address by combining the diameter, the circle center coordinate, the track number, the track width, the circle center coordinate of each positioning point, the positioning point radius and the track radius, the radian degree, the effective code bit and the maximum code bit of each information flow track. By applying the two-dimensional code generation method, the specific information of each parameter in the two-dimensional code to be generated is accurately calculated, and the data information is borne through the multi-layer circular information stream track, so that the information stream is relatively clear in distribution.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a flowchart of a method for generating a two-dimensional code according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a header of a two-dimensional code information stream according to an embodiment of the present invention;
FIG. 3 is a schematic diagram illustrating an inter-track spacing of an information stream according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of location point location distribution according to an embodiment of the present invention;
fig. 5 is a schematic diagram illustrating a determination of coordinates of a circle center of a positioning point according to an embodiment of the present invention;
fig. 6 is a schematic structural diagram of a two-dimensional code according to an embodiment of the present invention;
fig. 7 is a device structure diagram of a two-dimensional code generating device according to an embodiment of the present invention;
fig. 8 is a flowchart of a method for identifying a two-dimensional code according to an embodiment of the present invention;
fig. 9 is an exemplary diagram of scanning a two-dimensional code according to an embodiment of the present invention;
fig. 10 is a diagram of another example of scanning a two-dimensional code according to an embodiment of the present invention;
FIG. 11 is a diagram illustrating an exemplary adjustment of predictor points according to an embodiment of the present invention;
FIG. 12 is a diagram illustrating another example of an adjustment of the estimated point according to an embodiment of the present invention;
fig. 13 is a device structure diagram of a two-dimensional code recognition device according to an embodiment of the present invention;
fig. 14 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In this application, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions, and the terms "comprises", "comprising", or any other variation thereof are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising a … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The invention is operational with numerous general purpose or special purpose computing device environments or configurations. For example: personal computers, server computers, hand-held or portable devices, tablet-type devices, multi-processor apparatus, distributed computing environments that include any of the above devices or equipment, and the like.
The embodiment of the invention provides a two-dimensional code generation method, which can be applied to various system platforms, wherein an execution main body of the method can be a computer terminal or a processor of various mobile devices, and a flow chart of the method is shown in fig. 1 and specifically comprises the following steps:
s101: and acquiring a resource address, and generating a binary information stream corresponding to the resource address.
It should be noted that the resource address may be a video address. The information stream corresponding to the resource address is composed of a plurality of numbers of 0 and 1. As shown in fig. 2, fig. 2 is header information in an information stream, which includes version, mask, error correction code level, data type dtype, padding, and binary stream length.
As shown in table 1, table 1 is a description of the respective code bits in the header information.
TABLE 1
Figure 823998DEST_PATH_IMAGE001
S102: and determining the two-dimension code version of the two-dimension code to be generated based on the information flow.
Optionally, in the two-dimensional code generation method according to the embodiment of the present invention, three two-dimensional code versions, which are version 0, version 1, and version 2, are preset. The two-dimensional code of each version corresponds to different two-dimensional code diameters and respectively comprises four error correction levels, error correction code bytes corresponding to each error correction level and Chinese character UTF8 bytes.
In the process of generating the information stream, selecting any two-dimension code version, and converting the resource address into the binary information stream according to the error correction level corresponding to the two-dimension code.
Specifically, table 2 is a list of relevant information of each two-dimensional code version.
TABLE 2
Figure 474291DEST_PATH_IMAGE003
S103: and determining the diameter and the circle center coordinate of the two-dimensional code to be generated based on the two-dimensional code version.
Based on the table 2, when the two-dimensional code version is version 0, the diameter of the two-dimensional code is 170, and the coordinates of the center of the circle in the two-dimensional coordinate system are (85, 85); similarly, if the diameter of the two-dimensional code of version 1 is 224, the coordinates of the center of the circle are (112 ), and if the diameter of the two-dimensional code of version 2 is 556, the coordinates of the center of the circle are (278 ).
S104: and determining the preset track number and track width of the information stream track of the two-dimensional code to be generated, and the positioning point radius and positioning point degree of each positioning point.
Wherein, every the information flow track is for using centre of a circle coordinate is the circle of centre of a circle, and the information flow track comprises a plurality of code positions, and every code position can be replaced with character 0 or 1, if the character on the code position is 1, then shows with dark colour, and the character on the code position is 0, then shows with white or light colour, and a code position occupies a plurality of pixel points.
It can be understood that the two-dimensional code to be generated is composed of a plurality of circular information stream tracks, the information stream tracks are used for loading information streams of the two-dimensional code, the coordinates of the center of a circle of each information stream track are the coordinates of the center of a circle in the above S103, the diameters of each information stream track are different, and the diameter of the outermost circle is the diameter of the two-dimensional code. And the positioning points in the two-dimensional code are used for positioning the reading direction and sequence of the two-dimensional code in the subsequent two-dimensional code identification process.
S105: and calculating the track radius of each information stream track based on the two-dimension code diameter and the track width.
The two-dimensional code to be generated in the invention has a plurality of information stream tracks, and the track radius corresponding to each information stream track is different.
Specifically, the track radius formula for calculating the information stream track is as follows:
Radian = self.width/2 - (kTrack - i)*kPenceilWidth*2
the self.width is the diameter of the two-dimensional code; KTrack is the maximum number of tracks; i is the number of the track, which is 0,1,2,3 … … from inside to outside, so i =0,1,2 … …; kpienceilwidth is the preset track width.
For example, when the two-dimensional code version is version 1, the two-dimensional code diameter self.widht = 224, the kpenilsidth track width is 4, and the number of tracks is 5, the track radius of each information stream track is:
radius of the first track: 112-kpecenlwidth 2= 104;
radius of the second track: 112-2 kpenteinceilawidth 2= 96;
radius of the third track: 112-3 kpenteinceilawidth 2= 88;
radius of the fourth track: 112-4 kpenteinceilawidth 2= 80;
radius of the fifth track: 112-5 kpenteinceilawidth 2= 72.
The first track radius is the track radius of the information stream track farthest from the center of the circle, and the track radius of the fifth track is the track radius of the information stream track closest to the center of the circle.
It should be noted that the track width is the same as the gap width between the information stream tracks, and as shown in fig. 3, if the width of one information stream track is kpenteilwidth, the width between two adjacent information stream tracks is kpenteilwidth.
S106: and determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point.
Wherein each of the anchor points comprises a symbol anchor point and a plurality of base anchor points.
In the present invention, the symbol anchor point is used to display the associated symbol of the content corresponding to the resource address, for example, if the resource address is a certain video link, the symbol anchor point displays the playing symbol. The basic positioning point is used for positioning the two-dimensional code, and the reading direction and the reading sequence of the information streams in each information stream track can be determined through the basic positioning point.
Specifically, as shown in fig. 4, three basic positioning points are provided in the two-dimensional code, and are respectively located at the upper left corner, the lower left corner and the upper right corner of the two-dimensional code; and the symbol positioning point of the two-dimensional code is positioned at the lower right corner. The center coordinates of the locating points are arranged between any two information flow tracks; if the number of the information stream tracks is 5, the coordinates of the circle center of the positioning point can be between the second information stream track and the third information stream track.
Further, the determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point in the embodiment of the present invention includes:
determining a preset setting range of a positioning point and a fixed point distance from the setting range to the circle center coordinate, wherein the setting range is a circular track between any two adjacent information stream tracks;
determining the position of each positioning point in the setting range based on the positioning point distance and the degree of each positioning point;
calculating the projection length of each positioning point on the X axis and the Y axis based on the positioning point distance;
and determining the circle center coordinate of each positioning point based on the projection length of each positioning point on the X axis and the Y axis and the circle center coordinate.
It is understood that the setting range of the anchor point is determined according to the number of the information stream tracks, that is, when the number of the information stream tracks is 5, the setting range of the anchor point is a gap between the second track and the third track. And when the setting range of the circle center of the positioning point is the gap between the second information flow track and the third information flow track, calculating the distance from the center point between the second information flow track and the third information flow track to the coordinate of the circle center, wherein the distance from the center point to the coordinate of the circle center is the distance of the fixed point, and the distance of the fixed point is actually the distance from the circle center of the positioning point to the circle center of the two-dimensional code. And calculating the projection of each positioning point on the X axis and the Y axis of the plane coordinate system by combining the distance and the angle, thereby determining the coordinate of the circle center of the positioning point on the plane coordinate system and obtaining the coordinate of the circle center of the positioning point.
The invention provides a determination mode of the center coordinates of the positioning points, which is characterized in that the radius of a second track is 112-2 kPencelWidth = 96 and the radius of a third track is calculated based on the S105: 112-3 kpenteilwidth 2= 88, the setpoint distance is (96 + 88)/2 = 92; if the degrees of the positioning points of the four positioning points are respectively 45 degrees, 135 degrees, 225 degrees and 315 degrees, after the radius of each information flow track is determined and the circle center of the positioning point is determined to be positioned between the second track and the third track, the length of the shadow projected on the X axis and the Y axis by the circle center of each positioning point can be determined to be
Figure 21947DEST_PATH_IMAGE004
Therefore, the calculation process of the coordinates of the centers of the positioning points of the four positioning points is respectively as follows:
the coordinate of the circle center of the positioning point of the first positioning point is as follows:
x = self.centerCircle.x - distance=112-65.05
y = self.centerCircle.y + distance=112+65.05
the circle center coordinates of the positioning point of the second positioning point are as follows:
x = self.centerCircle.x + distance=112+65.05
y = self.centerCircle.y + distance=112+65.05
the coordinate of the center of a circle of a positioning point of a third positioning point is as follows:
x = self.centerCircle.x+distance=112+65.05
y = self.centerCircle.y-distance=112-65.05
the coordinate of the center of a circle of a positioning point of a fourth positioning point is as follows:
x = self.centerCircle.x-distance=112-65.05
y = self.centerCircle.y-distance=112-65.05
the center circle.x is an X-axis coordinate of the circle center of the two-dimensional code, the center circle.y is a y-axis coordinate of the circle center of the two-dimensional code, and the distance is the projection length. As shown in fig. 5, point Q is the center of the positioning point of the first positioning point, and the center coordinate thereof is (46.95,177.05).
If the degrees of the positioning points are respectively 0 degrees, 90 degrees, 180 degrees and 270 degrees, the coordinates of the centers of the four positioning points are respectively (0,112), (112, 224), (224,112) and (112, 0).
S107: and calculating radian degrees and maximum code bits of each information flow track based on the track radius and the track width of each information flow track.
The maximum code bit is the maximum information quantity which can be loaded by the information flow track.
The calculation formula for calculating the maximum code bit of each information stream track is as follows:
Figure 254345DEST_PATH_IMAGE005
the calculation formula for calculating the radian of each information flow track is as follows:
Figure 229255DEST_PATH_IMAGE006
where r is the radius of the information stream track,
Figure 399467DEST_PATH_IMAGE007
the unit radian of the information flow track is calculated by the following formula:
Figure 16393DEST_PATH_IMAGE008
s108: and determining code bits occupied by the positioning points on the information flow tracks and effective code bits in the information flow tracks based on the positioning point radius and the positioning point circle center coordinates of each positioning point.
In the invention, for a two-dimensional code, the positioning point in the two-dimensional code is used for determining the starting position and the sequence of the read information stream. In the process of generating the two-dimensional code, the characters in the information stream need to be sequentially arranged in each code bit of each information stream track according to the sequence. However, since the code bit of the information stream track part is occupied by the positioning point, the effective code bit in each information stream track is determined according to the code bit occupied by the positioning point on each information stream track.
The method comprises the steps of determining the code position occupied by each positioning point on each information flow track, determining effective code positions and ineffective code positions on each information flow track, wherein the radius of the positioning point of a basic positioning point is smaller than that of a positioning point of a symbol positioning point, determining the code positions occupied by each positioning point on each information flow track, determining all the code positions within the range of the radius +1 of each positioning point, and determining all the code positions except the ineffective code positions.
S109: and generating the two-dimensional code corresponding to the resource address based on the information stream, the diameter of the two-dimensional code, the circle center coordinate, the number of tracks, the track width, the locating point circle center coordinate, the locating point radius, the track radius of each information stream track, the radian degree, the effective code bit and the maximum code bit.
In the invention, a basic two-dimensional code is generated based on the diameter of the two-dimensional code, a circle center coordinate, the number of tracks, the width of the tracks, the circle center coordinate of a positioning point, the radius of the track of each information flow track, radian degrees, effective code bits and minimum code bits, and then all characters in the information flow are sequentially covered on all effective code bits of all information flow tracks according to a set sequence and direction to generate the two-dimensional code corresponding to the resource address.
In the process of generating the two-dimensional code, a code bit having a character of 1 is represented by a dark dot, and if there are a plurality of characters on adjacent code bits, each adjacent code bit is represented by a dark arc.
In the two-dimensional code generation method provided by the embodiment of the invention, the resource address is obtained, and the binary information stream corresponding to the resource address is generated. And determining the two-dimension code version of the two-dimension code to be generated. Based on the information in table 2, the two-dimensional code versions contained in the table, and the two-dimensional code diameter and circle center coordinates of the two-dimensional code to be generated corresponding to each two-dimensional code version are determined. The number and the width of the tracks of the information flow tracks of the two-dimensional code to be generated, as well as the radius and the degree of the positioning point of each positioning point are preset according to business requirements. And calculating the track radius of each information stream track in the two-dimensional code to be generated according to the diameter of the two-dimensional code and the track width, and determining the circle center coordinate of each positioning point in the two-dimensional code to be generated according to the circle center coordinate of the two-dimensional code and the degree of each positioning point. Wherein each anchor point comprises a symbol anchor point and a plurality of base anchor points. The symbol positioning point is used for displaying the identifier symbol conforming to the resource address in a personalized manner, for example, if the resource address is a video address, the identifier symbol in the symbol positioning point is a video playing symbol. The base symbols are used to determine the starting read point, read order and direction of each code bit in each information stream track. And according to the track radius of each information flow track and the preset track width, the radian degree and the maximum code bit of each information flow track are calculated, and each code bit required to be occupied by each positioning point is calculated, so that the effective code bit and the ineffective code bit on each information flow track are distinguished. And generating the two-dimensional code according to the diameter of the two-dimensional code, the circle center coordinate of the two-dimensional code to be generated, the number of tracks, the width of the tracks, the circle center coordinate of the positioning point, the radius of the tracks of each information stream, the radian degree, the effective code bits, the maximum code bits and the like, and arranging all characters in the information stream on all the effective code bits of all the information stream tracks according to a set arrangement mode.
As shown in table 3, table 3 shows the serial number of the invalid code bit of each information stream track in each two-dimensional code version, the number of tracks of each information stream track is 5, and the center of circle of the anchor point of each anchor point is located between the second information stream track and the third information stream track:
TABLE 3
Figure 368877DEST_PATH_IMAGE009
The two-dimensional code generated by the present invention is a circular two-dimensional code composed of a plurality of information stream tracks.
By applying the method provided by the embodiment of the invention, the data information is carried by the multi-layer circular information flow track, so that the information flow is relatively clear in distribution.
In the method provided in the embodiment of the present invention, the generating a binary information stream corresponding to the resource address includes:
generating a binary code stream corresponding to the resource address;
generating each error correcting code corresponding to the binary code stream by adopting a preset error correcting algorithm;
and embedding each error correcting code into the binary code stream according to a preset arrangement rule to obtain an information stream corresponding to the resource address.
It can be understood that the resource address is converted into a binary code stream, the two-dimensional code version of the two-dimensional code to be generated is determined, and each error correction level corresponding to the two-dimensional code version is determined. And selecting any error correction level from the error correction levels, acquiring a preset error correction algorithm of the selected error correction level, and applying the error correction algorithm to generate each error correction code corresponding to the binary code stream. And embedding each error correcting code into the binary code stream according to a preset arrangement rule to obtain an information stream corresponding to the resource address.
It should be noted that the error correction code of the two-dimensional code is mainly implemented by Reed-Solomon error correction algorithm Reed-Solomon error correction, and in the information stream track, the error correction code occupies some code bits, for example, L-level 55-byte source data of the two-dimensional code with a diameter of 224 correspondingly generates an error correction code of 15 bytes.
Further, in addition to embedding the error correction code in the binary stream, to prevent the pattern formed by adjacent code bits from being similar to the pattern of the anchor point, the binary stream in which the error correction code has been embedded may be further manipulated.
Specifically, the embedding each error correction code into the binary code stream according to a preset arrangement rule to obtain an information stream corresponding to the resource address includes:
carrying out interleaving coding processing on the binary code stream embedded with the error correcting code by applying a preset interleaving coding technology;
and carrying out exclusive OR processing on the processed binary code stream to obtain an information stream corresponding to the resource address.
It can be understood that, the interleaving coding technique is applied to perform the cuticle coding processing on the binary code embedded with the error correction code, and the exclusive or (XOR) processing is performed on the processed binary code stream to obtain the binary information stream corresponding to the resource address.
By applying the method provided by the embodiment of the invention, the error correcting code is added into the binary code stream and the XOR processing is carried out, the two-dimensional code can be prevented from being identified in the defect by adding the error correcting code, and the patterns as the positioning points can be prevented from appearing by carrying out the XOR processing on the binary code stream.
Optionally, in the process of generating the two-dimensional code corresponding to the resource address, the method specifically further includes:
determining the minimum track radius in each information stream track;
acquiring an information picture corresponding to the resource address;
adjusting the picture size of the information picture based on the minimum track radius;
and embedding the adjusted information picture into the two-dimensional code.
It is understood that the information picture related to the resource address may be embedded in the two-dimensional code with reference to fig. 6. If the resource address is a video address, the information picture may be a video poster picture corresponding to the video address or a platform picture of a platform to which the resource address belongs. The information picture is embedded in the two-dimensional code, so that a user can master basic information of the two-dimensional code and select an identification tool for identifying the two-dimensional code.
The specific implementation procedures and derivatives thereof of the above embodiments are within the scope of the present invention.
Corresponding to the method described in fig. 1, an embodiment of the present invention further provides a two-dimensional code generating apparatus, which is used for implementing the method in fig. 1 specifically, the two-dimensional code generating apparatus provided in the embodiment of the present invention may be applied to a computer terminal or various mobile devices, and a schematic structural diagram of the two-dimensional code generating apparatus is shown in fig. 7, and specifically includes:
an obtaining unit 201, configured to obtain a resource address, and generate a binary information stream corresponding to the resource address;
a first determining unit 202, configured to determine, based on the information stream, a two-dimensional code version of a two-dimensional code to be generated;
a second determining unit 203, configured to determine, based on the two-dimensional code version, a two-dimensional code diameter and a circle center coordinate of the two-dimensional code to be generated;
a third determining unit 204, configured to determine the preset number and width of tracks of an information stream track of a to-be-generated two-dimensional code, and a locating point radius and a locating point degree of each locating point;
a first calculating unit 205, configured to calculate a track radius of each information stream track based on the two-dimensional code diameter and the track width;
a fourth determining unit 206, configured to determine a circle center coordinate of a positioning point of each positioning point in the to-be-generated two-dimensional code based on the circle center coordinate and the degrees of each positioning point, where each positioning point includes a symbol positioning point and a plurality of basic positioning points;
a second calculating unit 207, configured to calculate radian degrees and maximum code bits of each information flow track based on a track radius and a track width of each information flow track, where the maximum code bits are a maximum information amount that can be loaded by the information flow track;
a fifth determining unit 208, configured to determine, based on the locating point radius and the locating point circle center coordinate of each locating point, a code bit occupied by each locating point on each information stream track and a valid code bit in each information stream track;
a generating unit 209, configured to generate a two-dimensional code corresponding to the resource address based on the information stream, the two-dimensional code diameter, the circle center coordinate, the number of tracks, the track width, the positioning point circle center coordinate, the positioning point radius, and the track radius, the radian degree, the valid code bit, and the maximum code bit of each information stream track.
In the two-dimensional code generating device provided by the embodiment of the invention, the resource address is obtained, and the binary information stream corresponding to the resource address is generated. And determining the two-dimension code version of the two-dimension code to be generated. Based on the information in table 2, the two-dimensional code versions contained in the table, and the two-dimensional code diameter and circle center coordinates of the two-dimensional code to be generated corresponding to each two-dimensional code version are determined. The number and the width of the tracks of the information flow tracks of the two-dimensional code to be generated, as well as the radius and the degree of the positioning point of each positioning point are preset according to business requirements. And calculating the track radius of each information stream track in the two-dimensional code to be generated according to the diameter of the two-dimensional code and the track width, and determining the circle center coordinate of each positioning point in the two-dimensional code to be generated according to the circle center coordinate of the two-dimensional code and the degree of each positioning point. Wherein each anchor point comprises a symbol anchor point and a plurality of base anchor points. The symbol positioning point is used for displaying the identifier symbol conforming to the resource address in a personalized manner, for example, if the resource address is a video address, the identifier symbol in the symbol positioning point is a video playing symbol. The base symbols are used to determine the starting read point, read order and direction of each code bit in each information stream track. And according to the track radius of each information flow track and the preset track width, the radian degree and the maximum code bit of each information flow track are calculated, and each code bit required to be occupied by each positioning point is calculated, so that the effective code bit and the ineffective code bit on each information flow track are distinguished. And generating the two-dimensional code according to the diameter of the two-dimensional code, the circle center coordinate of the two-dimensional code to be generated, the number of tracks, the width of the tracks, the circle center coordinate of the positioning point, the radius of the tracks of each information stream, the radian degree, the effective code bits, the maximum code bits and the like, and arranging all characters in the information stream on all the effective code bits of all the information stream tracks according to a set arrangement mode.
By applying the device provided by the embodiment of the invention, the data information is carried by the multi-layer circular information flow track, so that the information flow is relatively clear in distribution.
The invention provides a two-dimension code identification method, which is applied to identifying two-dimension codes generated by the two-dimension code generation method in the embodiment, wherein a flow chart of the method is shown in figure 8, and the method comprises the following steps:
s301: and collecting the two-dimensional code to be identified.
In the invention, the two-dimensional code is acquired by using the camera equipment with the resolution of 1920x1080 or more.
In the process of scanning the two-dimensional code, the ratio of the screen width to the preset width is calculated according to the screen width of the scanning equipment, the size of the scanned two-dimensional code is adjusted according to the ratio after the two-dimensional code is scanned, and the two-dimensional code is further identified.
S302: and carrying out binarization processing on the two-dimensional code to obtain a binarized two-dimensional code.
In the present invention, the binarization processing is to convert the picture into a binary image of only two colors. The binarized two-dimensional code is a two-dimensional matrix composed of 0 and 1, wherein 0 represents light color and 1 represents dark color.
S303: and identifying the positioning point position of each basic positioning point in the binaryzation two-dimensional code by applying a preset first identification rule.
Specifically, the first identification rule may be a crosscut method or an ant line method. The crosscut method is to scan a two-dimensional code by applying a ray according to a set direction and intervals, identify each scanning area, and determine whether the scanning area currently passed by the ray passes through the center of a circle of a positioning point, thereby determining the position of the positioning point. The ant line method is characterized in that the shape which is the same as the outline of a positioning point is drawn by an ant line tool, and the position of the positioning point is determined according to the position drawn by the ant line tool.
S304: and identifying the position of the positioning point of the symbol positioning point in the binaryzation two-dimensional code by applying a preset second identification rule.
Specifically, the second identification rule is the location point position of the symbol location point identified according to the location point position of each base location point, in the case that the location point position of each base location point has been identified.
S305: and determining the effective code bit on each information stream track in the binaryzation two-dimensional code based on the positioning point position of each basic positioning point and the positioning point position of the symbol positioning point.
After the positioning point position of each positioning point is determined and a basic positioning point and a symbol positioning point are distinguished, the initial position, the reading sequence, the valid code bit which can be read and the like of the characters on each code bit are read in the information flow track of the two-dimensional code according to the positioning point position.
S306: reading the characters on each effective code position, synthesizing binary information flow according to the characters on each effective code position, and deducing the resource address corresponding to the two-dimensional code based on the binary information flow.
According to the method, the characters on each effective code bit are read according to a set starting point and a set sequence, and the characters on the effective code bits are 0 or 1. And synthesizing each read character into binary information flow, and deducing the resource address corresponding to the two-dimensional code in the direction.
Specifically, in the method provided in the embodiment of the present invention, the reading of the character at each effective code bit includes:
determining a code bit reading sequence based on the positioning point position of each basic positioning point, and sequentially reading characters on each effective code bit according to the code bit reading sequence;
when the characters on the effective code bits are read, a preset reading frame is applied to identify the proportion of dark pixel points in the effective code bits occupying the reading frame; if the proportion of the dark pixel points in the currently read effective code bits occupying the reading frame exceeds a preset occupation threshold, determining that the characters of the currently read effective code bits are 1; and if the proportion of the dark pixel points in the currently read effective code bits occupying the reading frame does not exceed a preset occupation threshold value, determining that the characters of the currently read effective code bits are 0.
It is understood that the starting point for reading the valid code bits is generally set to the middle point between two base anchor points, and each valid code bit is read from the outer-to-inner circle and clockwise direction of the information flow track, or from the inner-to-outer circle and clockwise direction of the information flow track. When reading a code bit, drawing out a reading frame for reading the code bit according to the size of the occupied space of each pixel point, and containing all the pixel points of the code bit in the reading frame. And judging the occupation ratio of the dark color pixel points in the reading frame, wherein the larger the occupation ratio of the dark color pixel points is, the higher the probability that the character on the code position is 1 is, therefore, if the occupation ratio of the dark color pixel points in the reading frame exceeds a preset occupation threshold value, the character represented by the code position is 1, otherwise, the character is 0.
Still further, in the method provided in the embodiment of the present invention, the deriving a resource address corresponding to the two-dimensional code based on the binary information stream includes:
determining a two-dimensional code version of the two-dimensional code based on each effective code bit;
carrying out XOR reduction operation on the information flow to obtain an operated information flow;
decoding the calculated information stream to obtain a decoded information stream;
determining an error correction level adopted in the decoded information stream based on the two-dimensional code version, and determining each error correction code in the decoded information stream according to the error correction level;
and eliminating each error correcting code in the decoded information stream to obtain a binary code stream, and converting the binary code stream into a resource address corresponding to the two-dimensional code.
It can be understood that, the inverse operation is performed according to the method for generating the information stream, first, each read effective code bit is combined into one information stream, according to the two-dimensional code version of the two-dimensional code, the error correction code level is determined, the information stream is subjected to the exclusive-or reduction operation through the exclusive-or reduction operation, then, the reduced information stream is decoded according to the reverse operation of the interleaved coding, finally, each error correction code in the information stream is determined according to the error correction level, finally, each error correction code is removed to obtain the final binary code stream, and the final resource address is generated by the binary code stream.
In the two-dimensional code identification method provided by the embodiment of the invention, the two-dimensional code to be identified is collected, and the two-dimensional code is subjected to binarization processing to obtain the binarized two-dimensional code. Identifying the positioning point position of each basic positioning point in the binaryzation two-dimensional code by applying a first identification rule; and further identifying the positioning point position of the symbol positioning point by combining the positioning point positions of all the basic positioning points. And determining the effective code bits on each information flow track in the binary two-dimensional code according to the positioning point position of each basic positioning point and the positioning point position of the symbol positioning point, sequentially reading the characters on each effective code bit according to a set sequence and a set starting point, and synthesizing each character into a binary information flow so as to deduce the resource address corresponding to the two-dimensional code.
By applying the method provided by the invention, the position of the positioning point in the two-dimensional code can be accurately determined, so that the resource address corresponding to the two-dimensional code is identified.
Further, in the process of identifying the binary code, the acquired two-dimensional code may be deformed, and therefore, after the two-dimensional code is acquired, the method may specifically include:
identifying the two-dimension code appearance of the two-dimension code; judging whether the two-dimensional code is deformed or not based on the two-dimensional code shape; and if the two-dimension code is deformed, adjusting the two-dimension code appearance of the two-dimension code.
In one embodiment, the identifying, by applying a preset first identification rule, a location point position of each base location point in the binarized two-dimensional code includes:
determining a preset positioning point outline;
drawing each basic positioning point in the binaryzation two-dimensional code according to the contour of the positioning point by using a preset ant line tool;
determining the location point position of each of the base location points based on the location delineated by the ant line tool.
It should be noted that the basic positioning point is formed by a dark circle and a center of a circle of the positioning point, when the basic positioning point is identified, the contour of the positioning point of the basic positioning point is determined, and an ant line tool is applied to find out a shape which is consistent with the contour of the positioning point from the binarized two-dimensional code according to the contour of the positioning point, and the shape is depicted, that is, each basic positioning point in the binarized two-dimensional code is depicted. And determining the position traced by the ant line tool, and further determining the positioning point position of each positioning point.
In another embodiment, the identifying, by applying a preset first identification rule, the anchor point position of each anchor point in the binarized two-dimensional code includes:
scanning the binaryzation two-dimensional code according to a preset scanning interval and a preset scanning direction by using a preset scanning ray;
determining a scanning area scanned by the scanning ray each time, and checking whether the scanning area scanned by the scanning ray currently contains the center of a positioning point of any basic positioning point or not based on the scanning area scanned each time;
and if the scanning area currently scanned by the scanning ray contains the positioning point circle center of any basic positioning point, determining the position of the basic positioning point based on the scanning interval, the scanning direction and the current scanning times of the scanning ray.
It should be noted that the widths of the plurality of pixel points are used as the scanning interval of the scanning ray, and each row of pixel points is scanned according to the scanning interval. The scanning direction of the binarized two-dimensional code can be from top to bottom, from left to right, or the like.
Specifically, each time the scanning ray scans, it is checked whether the scanning ray passes through the center of the positioning point, as shown in fig. 9, when the scanning ray is at the position p1, it does not pass through the center of the positioning point; when the scanning ray scans to the position p2, the circle center of the positioning point of the two basic positioning points is penetrated. And if the scanning area currently scanned by the scanning ray passes through the center of the positioning point of the basic positioning point, determining the position of the positioning point based on the scanning distance, the scanning direction and the current scanning times.
Optionally, when the scanning ray is applied to scan the two-dimensional code, the first N rows of pixel points may be skipped automatically, where N is the track width of the information stream track. In the process of generating the two-dimensional code, the circle center of the positioning point is arranged between two adjacent information stream tracks, so that the circle center of the positioning point does not exist in the width of a pixel point occupied by the outermost information stream track when the outermost information stream track is gradually scanned inwards. Similarly, after the positioning point positions of all the basic positioning points are determined, the scanning is not required to be carried out continuously.
Further, the checking whether the currently scanned scanning area of the scanning ray contains the center of a positioning point of any positioning point includes:
dividing a scanning area through which the scanning rays pass into a plurality of sub-areas, wherein two adjacent sub-areas are line segments formed by dark-color pixel points and line segments formed by light-color pixel points respectively;
determining the area width corresponding to each sub-area, and acquiring a preset locating point width ratio;
checking whether the width ratio of the area width between a plurality of adjacent sub-areas in the scanning area is consistent with the width ratio of the positioning point;
and if the width ratio of the area width between the adjacent sub-areas in the scanning area is consistent with the positioning point width ratio, determining that the scanning area currently scanned by the scanning ray contains the positioning point circle center of at least one positioning point.
In the current scanning area, if the first subregion is a line segment formed by dark-color pixels, the second subregion is a line segment formed by light-color pixels, the third subregion is a line segment … … and 2n-1 subregions formed by dark-color pixels are line segments formed by dark-color pixels, and the 2n subregions are line segments formed by light-color pixels; if the first subregion is a line segment formed by light-color pixel points, the second subregion is a line segment formed by dark-color pixel points, the third subregion is a line segment … … and the 2n-1 sub-region formed by light-color pixel points are line segments formed by light-color pixel points, and the 2n sub-region is a line segment formed by dark-color pixel points.
Specifically, after the scanning region is divided into a plurality of sub-regions according to the depths of the pixel points, the region width of each sub-region is determined, and the region width of each sub-region can be determined according to the number of the pixel points contained in the sub-region, for example, if the sub-region a contains 6 pixel points, the region width is 6. Obtaining a preset locating point width ratio, wherein the locating point width ratio is specifically 3:4:5:4:3, as shown in fig. 10, fig. 10 is a locating point through which a scanning ray passes, wherein the scanning ray passes through a dark color pixel point region-a light color pixel point region-a dark color pixel point region of the locating point, and the width ratios of the five regions are respectively 3:4:5:4: 3.
In the current scanning area, whether the width ratio of the area width between the five adjacent sub-areas is consistent with the positioning point width ratio is checked. If yes, representing the circle center of a positioning point containing a certain positioning point in the scanning area. For example, the width ratio of the region width corresponding to each sub-region is: 7:1:6:3:4:5:4:3:6:3:6:1:36:1:2:2:4:5:4:3:4:5:4:3:5:1, wherein the two groups of width ratios are 3:4:5:4:3, the circle centers of the positioning points including the two positioning points in the scanning area currently scanned by the scanning ray can be known.
Specifically, after the width ratio of the width of the area between the five adjacent subregions is determined to be 3:4:5:4:3, whether the depth transformation rule of the pixel points between the five adjacent subregions is dark pixel point region-light pixel point region-dark pixel point region is determined again. If so, determining that five adjacent sub-areas with the width ratio of 3:4:5:4:3 belong to the same positioning point, and determining that the sub-area with the area width of 5 belongs to the circle center of the positioning point.
Optionally, in the process of scanning the two-dimensional code by using the scanning ray, if the first 31 pixel points in the scanning area currently scanned by the scanning ray are all light-color pixel points, it may be directly determined that the scanning area does not include the circle center of the positioning point.
In the embodiment of the invention, after the current scanning of the scanning ray passes through the circle center of the positioning point, the positioning point position of the current basic positioning point is determined according to the area width, the current scanning times and the scanning interval corresponding to each sub-area of the circle center of the positioning point.
By applying the method provided by the embodiment of the invention, each basic positioning point of the two-dimensional code is determined through the ant-shaped line or the scanning ray, and each effective code bit in the two-dimensional code and the corresponding reading mode of each effective code bit are determined through the basic positioning points.
In the method provided by the embodiment of the present invention, the identifying, by using a preset second identification rule, a location point position of a symbol location point in the binarized two-dimensional code includes:
estimating the estimated point of the symbol positioning point based on the positioning point position of each basic positioning point;
drawing detection lines with preset lengths in multiple directions by taking the estimated points as original points;
detecting the number of dark pixel points continuously appearing on each detection line;
judging whether the number of the continuous dark color pixel points on any detection line exceeds a predicted value;
and if the number of the dark-color pixel points continuously appearing on any detection line exceeds the pre-estimated value, moving the pre-estimated point to the direction pointed by the detection line until the number of the dark-color pixel points continuously appearing on all the detection lines does not exceed the pre-estimated value, and determining the current position of the pre-estimated point as the positioning point position of the symbol positioning point.
It should be noted that, after the three basic positioning points are connected with the symbol positioning point, a parallelogram is formed, and when the two-dimensional code is acquired, the two-dimensional code may be deformed. Therefore, the estimated point of the symbol positioning point is estimated according to the positioning point positions of the three basic positioning points, and the estimated point is the center of the positioning point of the estimated symbol positioning point. As shown in fig. 11, after the estimated point is determined, the estimated point is used as the origin to diverge the detection lines with the preset length in the preset direction, the number of the dark color pixel points continuously appearing on each detection line is calculated, if the number of the dark color pixel points exceeds the estimated value, as shown in fig. 11, two detection lines pass through the triangular symbol, the estimated point is represented as the circle center of the positioning point of the symbol positioning point, the estimated point is moved in the direction of the detection line, and after the estimated point is moved to the middle point of the triangular symbol, the number of the dark color pixel points continuously appearing on the detection line in each direction accords with the estimated value, and the circle center of the positioning point of the estimated point at the symbol positioning point is represented. And determining the position of the positioning given point of the symbol positioning point based on the current position of the estimated point.
Optionally, in addition to determining the position of the predicted point by using three basic positioning points, the position of the positioning point of the symbol positioning point may also be determined by using two basic positioning points that are farthest apart. If the distance between the base positioning point at the upper right corner and the positioning point at the lower left corner is the farthest, the positioning point internally tangent to the right isosceles triangle is obtained through the two base positioning points. As shown in fig. 12: there are two points right, bottom, with two inscribed isosceles right triangles. And determining the offset between the estimated position of the basic positioning point at the upper left corner and the actual position of the basic positioning point at the upper left corner according to the estimated position and the actual position of the basic positioning point, estimating the estimated position of the symbol positioning point according to the estimated position according to a parallelogram rule, and determining the final position of the symbol positioning point by combining the offset.
Corresponding to the method described in fig. 8, an embodiment of the present invention further provides a two-dimensional code generating apparatus, which is used for implementing the method in fig. 8 specifically, where the two-dimensional code generating apparatus provided in the embodiment of the present invention may be applied to a computer terminal or various mobile devices, and a schematic structural diagram of the two-dimensional code generating apparatus is shown in fig. 13, and specifically includes:
the acquisition unit 401 is configured to acquire a two-dimensional code to be identified;
a processing unit 402, configured to perform binarization processing on the two-dimensional code to obtain a binarized two-dimensional code;
a first identification unit 403, configured to apply a preset first identification rule to identify a location point position of each basic location point in the binarized two-dimensional code;
a second identifying unit 404, configured to apply a preset second identifying rule to identify a location point position of a symbol location point in the binarized two-dimensional code;
a sixth determining unit 405, configured to determine, based on the location point position of each basic location point and the location point position of the symbol location point, an effective code bit on each information stream track in the binarized two-dimensional code;
and the derivation unit 406 is configured to read the characters in each of the valid code bits, synthesize a binary information stream according to the characters in each of the valid code bits, and derive the resource address corresponding to the two-dimensional code based on the binary information stream.
In the two-dimensional code recognition device provided by the embodiment of the invention, the two-dimensional code to be recognized is collected, and the two-dimensional code is subjected to binarization processing to obtain the binarized two-dimensional code. Identifying the positioning point position of each basic positioning point in the binaryzation two-dimensional code by applying a first identification rule; and further identifying the positioning point position of the symbol positioning point by combining the positioning point positions of all the basic positioning points. And determining the effective code bits on each information flow track in the binary two-dimensional code according to the positioning point position of each basic positioning point and the positioning point position of the symbol positioning point, sequentially reading the characters on each effective code bit according to a set sequence and a set starting point, and synthesizing each character into a binary information flow so as to deduce the resource address corresponding to the two-dimensional code.
By applying the device provided by the invention, the position of the positioning point in the two-dimensional code can be accurately determined, so that the resource address corresponding to the two-dimensional code is identified.
The embodiment of the present invention further provides a storage medium, where the storage medium includes a stored instruction, and when the instruction runs, the device where the storage medium is located is controlled to execute the two-dimensional code generation method and the two-dimensional code identification method in the above embodiments.
An embodiment of the present invention further provides an electronic device, a schematic structural diagram of which is shown in fig. 14, and specifically includes a memory 501 and one or more instructions 502, where the one or more instructions 502 are stored in the memory 501;
for the two-dimensional code generation method mentioned in the above embodiments, the one or more instructions 502 executed by the one or more processors 503 are configured to:
acquiring a resource address, and generating a binary information stream corresponding to the resource address;
determining a two-dimension code version of a two-dimension code to be generated based on the information flow;
determining the diameter and circle center coordinates of the two-dimension code to be generated based on the two-dimension code version;
determining the preset track number and track width of an information stream track of a two-dimensional code to be generated, and the positioning point radius and positioning point degree of each positioning point;
calculating the track radius of each information stream track based on the two-dimension code diameter and the track width;
determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point, wherein each positioning point comprises a symbol positioning point and a plurality of basic positioning points;
calculating radian degrees and maximum code bits of each information flow track based on the track radius and the track width of each information flow track, wherein the maximum code bits are the maximum information quantity which can be loaded by the information flow tracks;
determining code bits occupied by the positioning points on the information flow tracks and valid code bits in the information flow tracks based on the positioning point radius and the positioning point circle center coordinates of each positioning point;
and generating the two-dimensional code corresponding to the resource address based on the information stream, the diameter of the two-dimensional code, the circle center coordinate, the number of tracks, the track width, the locating point circle center coordinate, the locating point radius, the track radius of each information stream track, the radian degree, the effective code bit and the maximum code bit.
For the two-dimensional code identification methods mentioned in the above embodiments, the one or more instructions 502 configured to be executed by the one or more processors 503 perform the following:
collecting a two-dimensional code to be identified;
carrying out binarization processing on the two-dimensional code to obtain a binarized two-dimensional code;
identifying the positioning point position of each basic positioning point in the binaryzation two-dimensional code by applying a preset first identification rule;
identifying the positioning point position of the symbol positioning point in the binaryzation two-dimensional code by applying a preset second identification rule;
determining effective code bits on each information stream track in the binaryzation two-dimensional code based on the positioning point position of each basic positioning point and the positioning point position of the symbol positioning point;
reading the characters on each effective code position, synthesizing binary information flow according to the characters on each effective code position, and deducing the resource address corresponding to the two-dimensional code based on the binary information flow.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, the system or system embodiments are substantially similar to the method embodiments and therefore are described in a relatively simple manner, and reference may be made to some of the descriptions of the method embodiments for related points. The above-described system and system embodiments are only illustrative, wherein the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both.
To clearly illustrate this interchangeability of hardware and software, various illustrative components and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (12)

1. A two-dimensional code generation method is characterized by comprising the following steps:
acquiring a resource address, and generating a binary information stream corresponding to the resource address, wherein the information stream comprises an encoding format of the information stream;
determining a two-dimension code version of a two-dimension code to be generated based on the information flow;
determining the diameter and circle center coordinates of the two-dimension code to be generated based on the two-dimension code version;
determining the preset track number and track width of an information stream track of a two-dimensional code to be generated, and the positioning point radius and positioning point degree of each positioning point;
calculating the track radius of each information stream track based on the two-dimension code diameter and the track width;
determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point, wherein each positioning point comprises a symbol positioning point and a plurality of basic positioning points;
calculating radian degrees and maximum code bits of each information flow track based on the track radius and the track width of each information flow track, wherein the maximum code bits are the maximum information quantity which can be loaded by the information flow tracks;
determining code bits occupied by the positioning points on the information flow tracks and valid code bits in the information flow tracks based on the positioning point radius and the positioning point circle center coordinates of each positioning point;
and generating the two-dimensional code corresponding to the resource address based on the information stream, the diameter of the two-dimensional code, the circle center coordinate, the number of tracks, the track width, the locating point circle center coordinate, the locating point radius, the track radius of each information stream track, the radian degree, the effective code bit and the maximum code bit.
2. The method of claim 1, wherein the generating the binary information stream corresponding to the resource address comprises:
generating a binary code stream corresponding to the resource address;
generating each error correcting code corresponding to the binary code stream by adopting a preset error correcting algorithm;
and embedding each error correcting code into the binary code stream according to a preset arrangement rule to obtain an information stream corresponding to the resource address.
3. The method according to claim 2, wherein the embedding each error correction code into the binary code stream according to a preset arrangement rule to obtain the information stream corresponding to the resource address comprises:
carrying out interleaving coding processing on the binary code stream embedded with the error correcting code by applying a preset interleaving coding technology;
and carrying out exclusive OR processing on the processed binary code stream to obtain an information stream corresponding to the resource address.
4. The method according to claim 1, wherein the determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point comprises:
determining a preset setting range of a positioning point and a fixed point distance from the setting range to the circle center coordinate, wherein the setting range is a circular track between any two adjacent information stream tracks;
determining the position of each positioning point in the setting range based on the positioning point distance and the degree of each positioning point;
calculating the projection length of each positioning point on the X axis and the Y axis based on the positioning point distance;
and determining the circle center coordinate of each positioning point based on the projection length of each positioning point on the X axis and the Y axis and the circle center coordinate.
5. A two-dimensional code generation device, comprising:
the device comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring a resource address and generating a binary information stream corresponding to the resource address, and the information stream comprises an encoding format of the information stream;
the first determining unit is used for determining a two-dimensional code version of a two-dimensional code to be generated based on the information flow;
the second determining unit is used for determining the two-dimension code diameter and the circle center coordinate of the two-dimension code to be generated based on the two-dimension code version;
the third determining unit is used for determining the preset track number and track width of the information stream track of the two-dimensional code to be generated, and the positioning point radius and the positioning point degree of each positioning point;
the first calculation unit is used for calculating the track radius of each information stream track based on the two-dimensional code diameter and the track width;
the fourth determining unit is used for determining the circle center coordinate of each positioning point in the two-dimensional code to be generated based on the circle center coordinate and the degrees of each positioning point, wherein each positioning point comprises a symbol positioning point and a plurality of basic positioning points;
the second calculation unit is used for calculating radian degrees and maximum code bits of each information flow track based on the track radius and the track width of each information flow track, wherein the maximum code bits are the maximum information quantity which can be loaded by the information flow tracks;
a fifth determining unit, configured to determine, based on a locating point radius and a locating point circle center coordinate of each locating point, a code bit occupied by each locating point on each information stream track and an effective code bit in each information stream track;
and the generating unit is used for generating the two-dimensional code corresponding to the resource address based on the information stream, the diameter of the two-dimensional code, the circle center coordinate, the number of tracks, the track width, the circle center coordinate of the positioning point, the radius of the track of each information stream track, the radian degree, the effective code bit and the maximum code bit.
6. A two-dimensional code recognition method for recognizing a two-dimensional code generated by applying the two-dimensional code generation method according to any one of claims 1 to 4, the method comprising:
collecting a two-dimensional code to be identified;
carrying out binarization processing on the two-dimensional code to obtain a binarized two-dimensional code;
identifying the positioning point position of each basic positioning point in the binarized two-dimensional code by applying a preset first identification rule, wherein the first identification rule is a crosscut method or an ant line method;
identifying the positioning point position of the symbol positioning point in the binary two-dimensional code by applying a preset second identification rule, wherein the second identification rule indicates that the positioning point position of the symbol positioning point is identified according to the positioning point position of each basic positioning point under the condition that the positioning point position of each basic positioning point is identified;
determining effective code bits on each information stream track in the binaryzation two-dimensional code based on the positioning point position of each basic positioning point and the positioning point position of the symbol positioning point;
reading characters on each effective code position, synthesizing binary information flow according to the characters on each effective code position, and deducing a resource address corresponding to the two-dimensional code based on the binary information flow;
the step of applying a preset second identification rule to identify the position of the locating point of the symbol locating point in the binarized two-dimensional code comprises the following steps:
estimating the estimated point of the symbol positioning point based on the positioning point position of each basic positioning point;
drawing detection lines with preset lengths in multiple directions by taking the estimated points as original points;
detecting the number of dark pixel points continuously appearing on each detection line;
judging whether the number of the continuous dark color pixel points on any detection line exceeds a predicted value;
and if the number of the dark-color pixel points continuously appearing on any detection line exceeds the pre-estimated value, moving the pre-estimated point to the direction pointed by the detection line until the number of the dark-color pixel points continuously appearing on all the detection lines does not exceed the pre-estimated value, and determining the current position of the pre-estimated point as the positioning point position of the symbol positioning point.
7. The method according to claim 6, wherein the applying a preset first identification rule to identify the anchor point position of each base anchor point in the binarized two-dimensional code comprises:
determining a preset positioning point outline;
drawing each basic positioning point in the binaryzation two-dimensional code according to the contour of the positioning point by using a preset ant line tool;
and determining the positioning point position of each basic positioning point based on the position of the ant line tool depicting positioning points.
8. The method according to claim 6, wherein the applying a preset first identification rule to identify the anchor point position of each base anchor point in the binarized two-dimensional code comprises:
scanning the binaryzation two-dimensional code according to a preset scanning interval and a preset scanning direction by using a preset scanning ray;
determining a scanning area scanned by the scanning ray each time, and checking whether the scanning area scanned by the scanning ray currently contains the center of a positioning point of any basic positioning point or not based on the scanning area scanned each time;
and if the scanning area currently scanned by the scanning ray contains the positioning point circle center of any basic positioning point, determining the position of the basic positioning point based on the scanning interval, the scanning direction and the current scanning times of the scanning ray.
9. The method of claim 8, wherein the checking whether the scanning area currently scanned by the scanning ray contains a positioning point center of any positioning point comprises:
dividing a scanning area through which the scanning rays pass into a plurality of sub-areas, wherein two adjacent sub-areas are line segments formed by dark-color pixel points and line segments formed by light-color pixel points respectively;
determining the area width corresponding to each sub-area, and acquiring a preset locating point width ratio;
checking whether the width ratio of the area width between a plurality of adjacent sub-areas in the scanning area is consistent with the width ratio of the positioning point;
and if the width ratio of the area width between the adjacent sub-areas in the scanning area is consistent with the positioning point width ratio, determining that the scanning area currently scanned by the scanning ray contains the positioning point circle center of at least one positioning point.
10. The method of claim 6, wherein reading the character at each of the valid code bits comprises:
determining a code bit reading sequence based on the positioning point position of each basic positioning point, and sequentially reading characters on each effective code bit according to the code bit reading sequence;
when the characters on the effective code bits are read, a preset reading frame is applied to identify the proportion of dark pixel points in the effective code bits occupying the reading frame; if the proportion of the dark pixel points in the currently read effective code bits occupying the reading frame exceeds a preset occupation threshold, determining that the characters of the currently read effective code bits are 1; and if the proportion of the dark pixel points in the currently read effective code bits occupying the reading frame does not exceed a preset occupation threshold value, determining that the characters of the currently read effective code bits are 0.
11. The method of claim 10, wherein deriving the resource address corresponding to the two-dimensional code based on the binary information stream comprises:
determining a two-dimensional code version of the two-dimensional code based on each effective code bit;
carrying out XOR reduction operation on the information flow to obtain an operated information flow;
decoding the calculated information stream to obtain a decoded information stream;
determining an error correction level adopted in the decoded information stream based on the two-dimensional code version, and determining each error correction code in the decoded information stream according to the error correction level;
and eliminating each error correcting code in the decoded information stream to obtain a binary code stream, and converting the binary code stream into a resource address corresponding to the two-dimensional code.
12. A two-dimensional code recognition apparatus for recognizing a two-dimensional code generated by applying the two-dimensional code generation method according to any one of claims 1 to 4, the apparatus comprising:
the acquisition unit is used for acquiring the two-dimensional code to be identified;
the processing unit is used for carrying out binarization processing on the two-dimensional code to obtain a binarized two-dimensional code;
the first identification unit is used for identifying the positioning point position of each basic positioning point in the binarized two-dimensional code by applying a preset first identification rule, wherein the first identification rule is a cross cutting method or an ant line method;
the second identification unit is used for identifying the positioning point position of the symbol positioning point in the binaryzation two-dimensional code by applying a preset second identification rule, wherein the second identification rule indicates that the positioning point position of the symbol positioning point is identified according to the positioning point position of each basic positioning point under the condition that the positioning point position of each basic positioning point is identified;
a sixth determining unit, configured to determine, based on the location point position of each basic location point and the location point position of the symbol location point, an effective code bit on each information stream track in the binarized two-dimensional code;
the derivation unit is used for reading the characters on each effective code bit, synthesizing a binary information stream according to the characters on each effective code bit, and deriving a resource address corresponding to the two-dimensional code based on the binary information stream;
the second identification unit is specifically configured to:
estimating the estimated point of the symbol positioning point based on the positioning point position of each basic positioning point;
drawing detection lines with preset lengths in multiple directions by taking the estimated points as original points;
detecting the number of dark pixel points continuously appearing on each detection line;
judging whether the number of the continuous dark color pixel points on any detection line exceeds a predicted value;
and if the number of the dark-color pixel points continuously appearing on any detection line exceeds the pre-estimated value, moving the pre-estimated point to the direction pointed by the detection line until the number of the dark-color pixel points continuously appearing on all the detection lines does not exceed the pre-estimated value, and determining the current position of the pre-estimated point as the positioning point position of the symbol positioning point.
CN202111046487.3A 2021-09-08 2021-09-08 Two-dimensional code generation method and device and two-dimensional code identification method and device Active CN113487001B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111046487.3A CN113487001B (en) 2021-09-08 2021-09-08 Two-dimensional code generation method and device and two-dimensional code identification method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111046487.3A CN113487001B (en) 2021-09-08 2021-09-08 Two-dimensional code generation method and device and two-dimensional code identification method and device

Publications (2)

Publication Number Publication Date
CN113487001A CN113487001A (en) 2021-10-08
CN113487001B true CN113487001B (en) 2021-12-24

Family

ID=77947313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111046487.3A Active CN113487001B (en) 2021-09-08 2021-09-08 Two-dimensional code generation method and device and two-dimensional code identification method and device

Country Status (1)

Country Link
CN (1) CN113487001B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926715B (en) * 2021-03-23 2024-02-02 支付宝(中国)网络技术有限公司 Two-dimensional code generation and decoding method, device and equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639734A (en) * 2020-05-21 2020-09-08 北京矩石科技有限公司 Novel QR code embedded two-dimensional code coding and anti-counterfeiting application method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6802450B2 (en) * 2002-08-07 2004-10-12 Shenzhen Syscan Technology Co. Ltd Guiding a scanning device to decode 2D symbols
CN106951812B (en) * 2017-03-31 2018-12-07 腾讯科技(深圳)有限公司 Identify the method, apparatus and terminal of two dimensional code
CN107590522B (en) * 2017-08-23 2020-08-21 阿里巴巴集团控股有限公司 Identification code generation and identification method and device
CN110659709A (en) * 2019-09-18 2020-01-07 颐保医疗科技(上海)有限公司 Anti-counterfeiting two-dimensional code and generation, detection and identification method thereof
CN112926715B (en) * 2021-03-23 2024-02-02 支付宝(中国)网络技术有限公司 Two-dimensional code generation and decoding method, device and equipment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111639734A (en) * 2020-05-21 2020-09-08 北京矩石科技有限公司 Novel QR code embedded two-dimensional code coding and anti-counterfeiting application method

Also Published As

Publication number Publication date
CN113487001A (en) 2021-10-08

Similar Documents

Publication Publication Date Title
CN106778996B (en) It is embedded with the generation system and method for the two dimensional code of visual pattern and reads system
JP5908113B2 (en) 2D code
JP5848464B2 (en) Two-dimensional code, two-dimensional code creation system and analysis program
US6935562B2 (en) Operations on images having glyph carpets
US8553284B2 (en) Information input/output method using dot pattern
US6678425B1 (en) Method and apparatus for decoding angular orientation of lattice codes
US6880755B2 (en) Method and apparatus for display of spatially registered information using embedded data
JP5905642B2 (en) Decoding method for matrix type two-dimensional code
JP5791826B2 (en) 2D code
CN113487001B (en) Two-dimensional code generation method and device and two-dimensional code identification method and device
CN110765795A (en) Two-dimensional code identification method and device and electronic equipment
CN109101855B (en) Lost positioning frame two-dimensional code identification method based on opencv
CN108229625B (en) Coding method and device
CN110926370B (en) Measurement method and system
CN110796136A (en) Mark and image processing method and related device
CN108229233B (en) Decoding method and device
EP1557793B1 (en) Method and apparatus for registering, displaying and decoding of information for spatial registration
JP5876343B2 (en) Code pattern superimposed image generating apparatus, information reading apparatus, and printed matter
JPH06259531A (en) Method for correcting inclination of dot pattern
KR20070110144A (en) Information input/output method using dot pattern
CN117541767A (en) Data processing method, electronic equipment and storage medium
CN117197829A (en) Picture character recognition method and device, electronic equipment and storage medium
CN118505791A (en) Image stitching method and device
CN118038464A (en) License plate detection method based on segmentation network and with arbitrary inclination angle
CN118429396A (en) Image geometric registration method, system, device 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