CN108549828A - Two-value square array identifying system of equal value and its recognition methods - Google Patents
Two-value square array identifying system of equal value and its recognition methods Download PDFInfo
- Publication number
- CN108549828A CN108549828A CN201810185002.0A CN201810185002A CN108549828A CN 108549828 A CN108549828 A CN 108549828A CN 201810185002 A CN201810185002 A CN 201810185002A CN 108549828 A CN108549828 A CN 108549828A
- Authority
- CN
- China
- Prior art keywords
- sequence
- coded
- coded sequence
- value
- margin
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims abstract description 123
- 238000003491 array Methods 0.000 claims abstract description 7
- 230000001186 cumulative effect Effects 0.000 claims description 21
- 230000001174 ascending effect Effects 0.000 claims description 14
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 108091026890 Coding region Proteins 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Equivalence two-value square array identifying system provided by the invention and its recognition methods, including:Data input module, for inputting two-value square array data;Data coding module is connect with data input module, and coded treatment, generator matrix data encoding are carried out for the two-value square array data to input;Data comparing module is connect with data coding module, is compared for the matrix data coding to generation;Data outputting module is connect with data comparing module, is used for the comparison result of output matrix data encoding.The present invention accelerates the processing speed of computer identification two-value square array of equal value, and it is its generator matrix data encoding that need to only spend a small amount of time, and the matrix data coding of related two-value square array is only compared when identifying whether two-value square array is of equal value.Storage space size is occupied much smaller than corresponding all two-value square arrays of equal value since matrix data encodes, and reduces the memory size that computer identification two-value square array of equal value needs.
Description
Technical field
The present invention relates to field of computer technology more particularly to a kind of two-value square array identifying system of equal value and its identifications
Method.
Background technology
Two-value square array herein refers to the value contained in all units in some matrix, and only there are two types of situation and rows
The matrix of ordered series of numbers number identical (unit number that the unit number that i.e. often row includes and each column include is identical).Two values matrix is led in computer
It is widely used in domain.As the fast-developing and nearly ubiquitous Quick Response Code of Internet of Things and mobile payment technology is two
One of typical case of value matrix.
If all two-value square arrays formed after some two-value square array is rotated or turned over regard essential phase as
With if (referred to herein as of equal value two-value square array), then according to the prior art, computer need to consume vast resources (including
Operation time and memory) it calculates to identify its two-value square array of equal value.
Invention content
For the defects in the prior art, the object of the present invention is to provide a kind of raising two-value square array identification effects of equal value
The two-value square array identifying system of equal value of rate and its recognition methods.
In order to solve the above technical problems, present invention equivalence two-value square array identifying system, including:Data input module,
For inputting two-value square array data;
Data coding module, data coding module are connect with data input module, for the two-value square array to input
Data carry out coded treatment, generator matrix data encoding;
Data comparing module, data comparing module are connect with data coding module, are encoded for the matrix data to generation
It is compared;
Data outputting module, data outputting module are connect with data comparing module, are used for the ratio of output matrix data encoding
To result.
Preferably, matrix data coding includes matrix side coding and matrix angle coding.
A kind of equivalence two-value square array recognition methods, includes the following steps:
Input two-value square array data;
Coded treatment, generator matrix data encoding are carried out to the two-value square array data of input;
The matrix data coding of generation is compared;
The comparison result of output matrix data encoding.
Preferably, matrix data coding includes matrix side coding and matrix angle coding.
Preferably, coded treatment is carried out to the two-value square array data of input, the step of generator matrix data encoding wraps
The step of including generator matrix side coding:
Obtain left margin coded sequence, right margin coded sequence, top boundary coded sequence and the bottom edge of two-value square array
Boundary coding sequence;
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are arranged
Sequence obtains matrix side coding.
Preferably, left margin coded sequence, right margin coded sequence, the top boundary coded sequence of two-value square array are obtained
Include with the step of bottom boundaries coded sequence:
Using any one in the two-value of the two-value square array data of input as baseline encoded value;
By each baseline encoded value column and two-value square array in every a line of the cumulative two-value square array data of row
Columns between left column is poor, and sequentially preserves and form left margin coded sequence;Wherein
The length of left margin coded sequence is the line number of two-value square array data, each sequence of left margin coded sequence
Position is often capable the sum of columns difference between each baseline encoded value column and two-value square array left column;Left margin code sequence
The first place of row is the sum of the columns difference between each baseline encoded value column and two-value square array left column, the left side in first trip
The first place of boundary coding sequence is left margin coded sequence highest order;The last position of left margin coded sequence is that each benchmark is compiled in footline
It is compiled for left margin the last position of the sum of columns difference between code value column and two-value square array left column, left margin coded sequence
Code sequence lowest order;
By each baseline encoded value column and two-value square array in every a line of the cumulative two-value square array data of row
Columns between right column is poor, and sequentially preserves and form right margin coded sequence;Wherein
The length of right margin coded sequence is the line number of two-value square array data, each sequence of right margin coded sequence
Position is often capable the sum of columns difference between each baseline encoded value column and two-value square array right column;Right margin code sequence
The first place of row is the sum of the columns difference between each baseline encoded value column and two-value square array right column, the right in first trip
The first place of boundary coding sequence is right margin coded sequence highest order;The last position of right margin coded sequence is that each benchmark is compiled in footline
The last position of the sum of columns difference between code column and two-value square array right column, right margin coded sequence is the right boundary coding
Sequence lowest order;
Each baseline encoded value is expert at and two-value square array in each row for the two-value square array data that add up by row
Line number between first trip is poor, and sequentially preserves and form top boundary coded sequence;Wherein
The length of top boundary coded sequence is the columns of two-value square array data, each sequence of top boundary coded sequence
The sum of the line number difference that position is expert at by each baseline encoded value of each column between two-value square array first trip;Top boundary coded sequence
First place be expert at the sum of the line number difference between two-value square array first trip for each baseline encoded value in first, top boundary is compiled
The first place of code sequence is top boundary coded sequence highest order;The last position of top boundary coded sequence is each baseline encoded value in terminal column
The last position of the sum of the line number difference being expert between two-value square array first trip, top boundary coded sequence is top boundary coded sequence
Lowest order;
Each baseline encoded value is expert at and two-value square array in each row for the two-value square array data that add up by row
Line number between footline is poor, and sequentially preserves and form bottom boundaries coded sequence;Wherein
The length of bottom boundaries coded sequence is the columns of two-value square array data, each sequence of bottom boundaries coded sequence
The sum of the line number difference that position is expert at by each baseline encoded value of each column between two-value square array footline;Bottom boundaries coded sequence
First place be expert at the sum of the line number difference between two-value square array footline for each baseline encoded value in first, bottom boundaries are compiled
The first place of code sequence is bottom boundaries coded sequence highest order;The last position of bottom boundaries coded sequence is each baseline encoded value in terminal column
The last position of the sum of the line number difference being expert between two-value square array footline, bottom boundaries coded sequence is bottom boundaries coded sequence
Lowest order;
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are arranged
Sequence obtains matrix side coding.
Preferably, to left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence
It is ranked up, obtaining the step of matrix side encodes includes:
Obtain sequence A1, sequence A1For sequential value in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
Larger sequence;
Obtain sequence B1, sequence B1For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Larger sequence;
Obtain sequence C1, sequence C1For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Larger sequence;
Obtain sequence D1, sequence D1For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Larger sequence;
By sequential value to sequence A1, sequence B1, sequence C1And sequence D1After carrying out descending sort, from big to small by sequential value
Sequential concatenation sequence A1, sequence B1, sequence C1And sequence D1Obtain sequence X1, sequence X1As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big;Or
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are arranged
Sequence, obtaining the step of matrix side encodes includes:
Obtain sequence A2, sequence A2For sequential value in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
Larger sequence;
Obtain sequence B2, sequence B2For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Larger sequence;
Obtain sequence C2, sequence C2For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Larger sequence;
Obtain sequence D2, sequence D2For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Larger sequence;
By sequential value to sequence A2, sequence B2, sequence C2And sequence D2After carrying out ascending sort, from small to large by sequential value
Sequential concatenation sequence A2, sequence B2, sequence C2And sequence D2Obtain sequence X2, sequence X2As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big;Or
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are arranged
Sequence, obtaining the step of matrix side encodes includes:
Obtain sequence A3, sequence A3For sequential value in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
Smaller sequence;
Obtain sequence B3, sequence B3For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Smaller sequence;
Obtain sequence C3, sequence C3For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Smaller sequence;
Obtain sequence D3, sequence D3For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Smaller sequence;
By sequential value to sequence A3, sequence B3, sequence C3And sequence D3After carrying out descending sort, from big to small by sequential value
Sequential concatenation sequence A3, sequence B3, sequence C3And sequence D3Obtain sequence X3, sequence X3As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big;Or
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are arranged
Sequence, obtaining the step of matrix side encodes includes:
Obtain sequence A4, sequence A4For sequential value in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
Smaller sequence;
Obtain sequence B4, sequence B4For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Smaller sequence;
Obtain sequence C4, sequence C4For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Smaller sequence;
Obtain sequence D4, sequence D4For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Smaller sequence;
By sequential value to sequence A4, sequence B4, sequence C4And sequence D4After carrying out ascending sort, from small to large by sequential value
Sequential concatenation sequence A4, sequence B4, sequence C4And sequence D4Obtain sequence X4, sequence X4As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big.
Preferably, coded treatment is carried out to the two-value square array data of input, the step of generator matrix data encoding wraps
The step of including generator matrix angle coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence;
Obtain upper left corner coded sequence, upper right corner coded sequence, lower left corner coded sequence and lower right corner coded sequence;
Upper left corner coded sequence, upper right corner coded sequence, lower left corner coded sequence and lower right corner coded sequence are arranged
Sequence obtains matrix angle coding.
Preferably, coded treatment is carried out to the two-value square array data of input, the step of generator matrix data encoding wraps
The step of including generator matrix angle coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E1;Wherein, baseline encoded value is non-zero number
Value, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two1;
Left margin coded sequence is taken into Q from highest order to lowest order direction1A left margin coded sequence encoded radio, will take
The Q obtained1A left margin coded sequence encoded radio is spliced to form sequence F successively1;
Top boundary coded sequence is taken into Q from highest order to lowest order direction1A top boundary coded sequence encoded radio, will take
The Q obtained1A top boundary coded sequence encoded radio is spliced to form sequence G successively1;
By sequence F1With sequence G1It is spliced to form sequence F1G1With sequence G1F1, take sequence F1G1With sequence G1F1Middle the greater
As upper left corner coded sequence S1;
Right margin coded sequence is taken into Q from highest order to lowest order direction1A right margin coded sequence encoded radio, will take
The Q obtained1A right margin coded sequence encoded radio is spliced to form sequence H successively1;
Top boundary coded sequence is taken into Q from lowest order to highest order direction1A top boundary coded sequence encoded radio, will take
The Q obtained1A top boundary coded sequence encoded radio is spliced to form sequence I successively1;
By sequence H1With sequence I1It is spliced to form sequence H1I1With sequence I1H1, take sequence H1I1With sequence I1H1Middle the greater
As upper right corner coded sequence T1;
Left margin coded sequence is taken into Q from lowest order to highest order direction1A left margin coded sequence encoded radio, will take
The Q obtained1A left margin coded sequence encoded radio is spliced to form sequence J successively1;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction1A bottom boundaries coded sequence encoded radio, will take
The Q obtained1A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively1;
By sequence J1With sequence K1It is spliced to form sequence J1K1With sequence K1J1, take sequence J1K1With sequence K1J1Middle the greater
As lower left corner coded sequence U1;
Right margin coded sequence is taken into Q from lowest order to highest order direction1A right margin coded sequence encoded radio, will take
The Q obtained1A right margin coded sequence encoded radio is spliced to form sequence L successively1;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction1A bottom boundaries coded sequence encoded radio, will take
The Q obtained1A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively1;
By sequence L1With sequence M1It is spliced to form sequence L1M1With sequence M1L1, take sequence L1M1With sequence M1L1Middle the greater
As lower right corner coded sequence V1;
By sequential value to upper left corner coded sequence S1, upper right corner coded sequence T1, lower left corner coded sequence U1It is compiled with the lower right corner
Code sequence V1After carrying out descending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from big to small1, upper right corner code sequence
Arrange T1, lower left corner coded sequence U1With lower right corner coded sequence V1Obtain sequence W1;Splice vertex and sequence E1With sequence W1It obtains
Sequence Y1, sequence Y1As matrix angle encodes;Or
Coded treatment carried out to the two-value square array data of input, the step of generator matrix data encoding includes generating square
The step of battle array angle coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E2;Wherein, baseline encoded value is non-zero number
Value, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two2;
Left margin coded sequence is taken into Q from highest order to lowest order direction2A left margin coded sequence encoded radio, will take
The Q obtained2A left margin coded sequence encoded radio is spliced to form sequence F successively2;
Top boundary coded sequence is taken into Q from highest order to lowest order direction2A top boundary coded sequence encoded radio, will take
The Q obtained2A top boundary coded sequence encoded radio is spliced to form sequence G successively2;
By sequence F2With sequence G2It is spliced to form sequence F2G2With sequence G2F2, take sequence F2G2With sequence G2F2Middle the greater
As upper left corner coded sequence S2;
Right margin coded sequence is taken into Q from highest order to lowest order direction2A right margin coded sequence encoded radio, will take
The Q obtained2A right margin coded sequence encoded radio is spliced to form sequence H successively2;
Top boundary coded sequence is taken into Q from lowest order to highest order direction2A top boundary coded sequence encoded radio, will take
The Q obtained2A top boundary coded sequence encoded radio is spliced to form sequence I successively2;
By sequence H2With sequence I2It is spliced to form sequence H2I2With sequence I2H2, take sequence H2I2With sequence I2The greater is made in H
For upper right corner coded sequence T2;
Left margin coded sequence is taken into Q from lowest order to highest order direction2A left margin coded sequence encoded radio, will take
The Q obtained2A left margin coded sequence encoded radio is spliced to form sequence J successively2;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction2A bottom boundaries coded sequence encoded radio, will take
The Q obtained2A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively2;
By sequence J2With sequence K2It is spliced to form sequence J2K2With sequence K2J2, take sequence J2K2With sequence K2J2Middle the greater
As lower left corner coded sequence U2;
Right margin coded sequence is taken into Q from lowest order to highest order direction2A right margin coded sequence encoded radio, will take
The Q obtained2A right margin coded sequence encoded radio is spliced to form sequence L successively2;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction2A bottom boundaries coded sequence encoded radio, will take
The Q obtained2A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively2;
By sequence L2With sequence M2It is spliced to form sequence L2M2With sequence M2L2, take sequence L2M2With sequence M2L2Middle the greater
As lower right corner coded sequence V2;
By sequential value to upper left corner coded sequence S2, upper right corner coded sequence T2, lower left corner coded sequence U2It is compiled with the lower right corner
Code sequence V2After carrying out ascending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from small to large2, upper right corner code sequence
Arrange T2, lower left corner coded sequence U2With lower right corner coded sequence V2Obtain sequence W2;Splice vertex and sequence E2With sequence W2It obtains
Sequence Y2, sequence Y2As matrix angle encodes;Or
Coded treatment carried out to the two-value square array data of input, the step of generator matrix data encoding includes generating square
The step of battle array angle coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E3;Wherein, baseline encoded value is non-zero number
Value, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two3;
Left margin coded sequence is taken into Q from highest order to lowest order direction3A left margin coded sequence encoded radio, will take
The Q obtained3A left margin coded sequence encoded radio is spliced to form sequence F successively3;
Top boundary coded sequence is taken into Q from highest order to lowest order direction3A top boundary coded sequence encoded radio, will take
The Q obtained3A top boundary coded sequence encoded radio is spliced to form sequence G successively3;
By sequence F3With sequence G3It is spliced to form sequence F3G3With sequence G3F3, take sequence F3G3With sequence G3F3Middle smaller
As upper left corner coded sequence S3;
Right margin coded sequence is taken into Q from highest order to lowest order direction3A right margin coded sequence encoded radio, will take
The Q obtained3A right margin coded sequence encoded radio is spliced to form sequence H successively3;
Top boundary coded sequence is taken into Q from lowest order to highest order direction3A top boundary coded sequence encoded radio, will take
The Q obtained3A top boundary coded sequence encoded radio is spliced to form sequence I successively3;
By sequence H3With sequence I3It is spliced to form sequence H3I3With sequence I3H3, take sequence H3I3With sequence I3Smaller makees in H
For upper right corner coded sequence T3;
Left margin coded sequence is taken into Q from lowest order to highest order direction3A left margin coded sequence encoded radio, will take
The Q obtained3A left margin coded sequence encoded radio is spliced to form sequence J successively3;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction3A bottom boundaries coded sequence encoded radio, will take
The Q obtained3A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively3;
By sequence J3With sequence K3It is spliced to form sequence J3K3With sequence K3J3, take sequence J3K3With sequence K3J3Middle smaller
As lower left corner coded sequence U3;
Right margin coded sequence is taken into Q from lowest order to highest order direction3A right margin coded sequence encoded radio, will take
The Q obtained3A right margin coded sequence encoded radio is spliced to form sequence L successively3;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction3A bottom boundaries coded sequence encoded radio, will take
The Q obtained3A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively3;
By sequence L3With sequence M3It is spliced to form sequence L3M3With sequence M3L3, take sequence L3M3With sequence M3L3Middle smaller
As lower right corner coded sequence V3;
By sequential value to upper left corner coded sequence S3, upper right corner coded sequence T3, lower left corner coded sequence U3It is compiled with the lower right corner
Code sequence V3After carrying out descending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from big to small3, upper right corner code sequence
Arrange T3, lower left corner coded sequence U3With lower right corner coded sequence V3Obtain sequence W3;Splice vertex and sequence E3With sequence W3It obtains
Sequence Y3, sequence Y3As matrix angle encodes;Or
Coded treatment carried out to the two-value square array data of input, the step of generator matrix data encoding includes generating square
The step of battle array angle coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E4;Wherein, baseline encoded value is non-zero number
Value, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two4;
Left margin coded sequence is taken into Q from highest order to lowest order direction4A left margin coded sequence encoded radio, will take
The Q obtained4A left margin coded sequence encoded radio is spliced to form sequence F successively4;
Top boundary coded sequence is taken into Q from highest order to lowest order direction4A top boundary coded sequence encoded radio, will take
The Q obtained4A top boundary coded sequence encoded radio is spliced to form sequence G successively4;
By sequence F4With sequence G4It is spliced to form sequence F4G4With sequence G4F4, take sequence F4G4With sequence G4F4Middle smaller
As upper left corner coded sequence S4;
Right margin coded sequence is taken into Q from highest order to lowest order direction4A right margin coded sequence encoded radio, will take
The Q obtained4A right margin coded sequence encoded radio is spliced to form sequence H successively4;
Top boundary coded sequence is taken into Q from lowest order to highest order direction4A top boundary coded sequence encoded radio, will take
The Q obtained4A top boundary coded sequence encoded radio is spliced to form sequence I successively4;
By sequence H4With sequence I4It is spliced to form sequence H4I4With sequence I4H4, take sequence H4I4With sequence I4H4Middle smaller
As upper right corner coded sequence T4;
Left margin coded sequence is taken into Q from lowest order to highest order direction4A left margin coded sequence encoded radio, will take
The Q obtained4A left margin coded sequence encoded radio is spliced to form sequence J successively4;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction4A bottom boundaries coded sequence encoded radio, will take
The Q obtained4A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively4;
By sequence J4With sequence K4It is spliced to form sequence J4K4With sequence K4J4, take sequence J4K4With sequence K4J4Middle smaller
As lower left corner coded sequence U4;
Right margin coded sequence is taken into Q from lowest order to highest order direction4A right margin coded sequence encoded radio, will take
The Q obtained4A right margin coded sequence encoded radio is spliced to form sequence L successively4;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction4A bottom boundaries coded sequence encoded radio, will take
The Q obtained4A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively4;
By sequence L4With sequence M4It is spliced to form sequence L4M4With sequence M4L4, take sequence L4M4With sequence M4L4Middle smaller
As lower right corner coded sequence V4;
By sequential value to upper left corner coded sequence S4, upper right corner coded sequence T4, lower left corner coded sequence U4It is compiled with the lower right corner
Code sequence V4After carrying out ascending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from small to large4, upper right corner code sequence
Arrange T4, lower left corner coded sequence U4With lower right corner coded sequence V4Obtain sequence W4;Splice vertex and sequence E4With sequence W4It obtains
Sequence Y4, sequence Y4As matrix angle encodes.
Preferably, encoding the step of being compared to the matrix data of generation includes:
The matrix data of more multiple two-value square arrays encodes, and judges that the two-value with same matrix data encoding is square
Matrix is judged to two-value square array of equal value.
Compared with prior art, the present invention has following advantage:The present invention accelerates computer identification two-value of equal value pros square
Battle array processing speed, only need to spend a small amount of time be its generator matrix data encoding, and identification two-value square array whether etc.
The matrix data coding of related two-value square array is only compared when valence.Since matrix data coding occupancy storage space size is remote
Less than corresponding all two-value square arrays of equal value, it is big to reduce the memory that computer identification two-value square array of equal value needs
It is small.Therefore no matter the angle from memory space angle or from comparison calculation speed, better than existing known technology.
Description of the drawings
Upon reading the detailed description of non-limiting embodiments with reference to the following drawings, other feature mesh of the invention
And advantage will become more apparent upon.
Fig. 1 is present invention two-value square array identifying system schematic diagram of equal value;
Fig. 2 is present invention two-value square array recognition methods flow chart of equal value.
Specific implementation mode
With reference to specific embodiment, the present invention is described in detail.Following embodiment will be helpful to the technology of this field
Personnel further understand the present invention, but the invention is not limited in any way.It should be pointed out that the ordinary skill of this field
For personnel, without departing from the inventive concept of the premise, several changes and improvements can also be made.These belong to the present invention
Protection domain.
As shown in Figure 1, present invention equivalence two-value square array identifying system, including:Data input module, for inputting two
It is worth square array data;Data coding module, data coding module are connect with data input module, just for the two-value to input
Square matrix data carry out coded treatment, generator matrix data encoding;Data comparing module, data comparing module and data encoding mould
Block connects, and is compared for the matrix data coding to generation;Data outputting module, data outputting module and comparing mould
Block connects, and is used for the comparison result of output matrix data encoding.
As shown in Fig. 2, present invention equivalence two-value square array recognition methods, includes the following steps:
Step 1, two-value square array data are inputted;
Step 2, coded treatment, generator matrix data encoding are carried out to the two-value square array data of input;
Step 3, the matrix data of generation coding is compared;
Step 4, the comparison result of output matrix data encoding.
Step 2 includes:
Step 2.1, using any one in the two-value of the two-value square array data of input as baseline encoded value;
Step 2.2, each baseline encoded value column and two-value in every a line of the cumulative two-value square array data of row are pressed
Columns between square array left column is poor, and sequentially preserves and form left margin coded sequence;Wherein
The length of left margin coded sequence is the line number of two-value square array data, each sequence of left margin coded sequence
Position is often capable the sum of columns difference between each baseline encoded value column and two-value square array left column;Left margin code sequence
The first place of row is the sum of the columns difference between each baseline encoded value column and two-value square array left column, the left side in first trip
The first place of boundary coding sequence is left margin coded sequence highest order;The last position of left margin coded sequence is that each benchmark is compiled in footline
It is compiled for left margin the last position of the sum of columns difference between code value column and two-value square array left column, left margin coded sequence
Code sequence lowest order;
Step 2.3, each baseline encoded value column and two-value in every a line of the cumulative two-value square array data of row are pressed
Columns between square array right column is poor, and sequentially preserves and form right margin coded sequence;Wherein
The length of right margin coded sequence is the line number of two-value square array data, each sequence of right margin coded sequence
Position is often capable the sum of columns difference between each baseline encoded value column and two-value square array right column;Right margin code sequence
The first place of row is the sum of the columns difference between each baseline encoded value column and two-value square array right column, the right in first trip
The first place of boundary coding sequence is right margin coded sequence highest order;The last position of right margin coded sequence is that each benchmark is compiled in footline
The last position of the sum of columns difference between code column and two-value square array right column, right margin coded sequence is the right boundary coding
Sequence lowest order;
Step 2.4, each baseline encoded value is expert at and two-value in each row for the two-value square array data of adding up by row
Line number between square array first trip is poor, and sequentially preserves and form top boundary coded sequence;Wherein
The length of top boundary coded sequence is the columns of two-value square array data, each sequence of top boundary coded sequence
The sum of the line number difference that position is expert at by each baseline encoded value of each column between two-value square array first trip;Top boundary coded sequence
First place be expert at the sum of the line number difference between two-value square array first trip for each baseline encoded value in first, top boundary is compiled
The first place of code sequence is top boundary coded sequence highest order;The last position of top boundary coded sequence is each baseline encoded value in terminal column
The last position of the sum of the line number difference being expert between two-value square array first trip, top boundary coded sequence is top boundary coded sequence
Lowest order;
Step 2.5, each baseline encoded value is expert at and two-value in each row for the two-value square array data of adding up by row
Line number between square array footline is poor, and sequentially preserves and form bottom boundaries coded sequence;Wherein
The length of bottom boundaries coded sequence is the columns of two-value square array data, each sequence of bottom boundaries coded sequence
The sum of the line number difference that position is expert at by each baseline encoded value of each column between two-value square array footline;Bottom boundaries coded sequence
First place be expert at the sum of the line number difference between two-value square array footline for each baseline encoded value in first, bottom boundaries are compiled
The first place of code sequence is bottom boundaries coded sequence highest order;The last position of bottom boundaries coded sequence is each baseline encoded value in terminal column
The last position of the sum of the line number difference being expert between two-value square array footline, bottom boundaries coded sequence is bottom boundaries coded sequence
Lowest order;
Step 2.6, to left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries code sequence
Row are ranked up, and obtain matrix side coding.
Step 2.6.1, according to the sequence of " the whole sequential value of the high big sequence of bit sequence bit value is big " in two sequences
Principle is calculated as follows:
Larger (or smaller) person in left margin coded sequence and its Inversion Sequence is calculated, referred to as in step 2.6.1.1
Sequence A;Larger (or smaller) person in right margin coded sequence and its Inversion Sequence, referred to as sequence B is calculated;It is calculated
Larger (or smaller) person in top boundary coded sequence and its Inversion Sequence, referred to as sequence C;Bottom boundaries coded sequence is calculated
And its larger (or smaller) person in Inversion Sequence, referred to as sequence D;
Wherein
Calculating acquisition sequence A, B, C must be consistent with " larger or smaller " selection principle used in D.
Four sequences are carried out after ascending orders (or descending) sort by the sequential value of sequence A, B, C and D, sequentially splice this four
A sequence obtains sequence X, and sequence X is matrix side coding;
Specifically, sequence A is obtained1, sequence A1For in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
The larger sequence of sequential value;
Obtain sequence B1, sequence B1For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Larger sequence;
Obtain sequence C1, sequence C1For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Larger sequence;
Obtain sequence D1, sequence D1For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Larger sequence;
By sequential value to sequence A1, sequence B1, sequence C1And sequence D1After carrying out descending sort, from big to small by sequential value
Sequential concatenation sequence A1, sequence B1, sequence C1And sequence D1Obtain sequence X1, sequence X1As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big;Or
Obtain sequence A2, sequence A2For sequential value in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
Larger sequence;
Obtain sequence B2, sequence B2For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Larger sequence;
Obtain sequence C2, sequence C2For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Larger sequence;
Obtain sequence D2, sequence D2For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Larger sequence;
By sequential value to sequence A2, sequence B2, sequence C2And sequence D2After carrying out ascending sort, from small to large by sequential value
Sequential concatenation sequence A2, sequence B2, sequence C2And sequence D2Obtain sequence X2, sequence X2As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big;Or
Obtain sequence A3, sequence A3For sequential value in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
Smaller sequence;
Obtain sequence B3, sequence B3For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Smaller sequence;
Obtain sequence C3, sequence C3For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Smaller sequence;
Obtain sequence D3, sequence D3For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Smaller sequence;
By sequential value to sequence A3, sequence B3, sequence C3And sequence D3After carrying out descending sort, from big to small by sequential value
Sequential concatenation sequence A3, sequence B3, sequence C3And sequence D3Obtain sequence X3, sequence X3As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big;Or
Obtain sequence A4, sequence A4For sequential value in the Inversion Sequence of left margin coded sequence and the left margin coded sequence
Smaller sequence;
Obtain sequence B4, sequence B4For sequential value in the Inversion Sequence of right margin coded sequence and the right margin coded sequence
Smaller sequence;
Obtain sequence C4, sequence C4For sequential value in the Inversion Sequence of top boundary coded sequence and the top boundary coded sequence
Smaller sequence;
Obtain sequence D4, sequence D4For sequential value in the Inversion Sequence of bottom boundaries coded sequence and the bottom boundaries coded sequence
Smaller sequence;
By sequential value to sequence A4, sequence B4, sequence C4And sequence D4After carrying out ascending sort, from small to large by sequential value
Sequential concatenation sequence A4, sequence B4, sequence C4And sequence D4Obtain sequence X4, sequence X4As matrix side encodes;Wherein, high-order
The whole sequential value of the big sequence of sequence bit value is big.
Step 2.7, the value on cumulative four vertex of two-value square array, preservation form vertex and E.Wherein, baseline encoded value
In terms of non-zero values, non-referenced encoded radio is in terms of zero.
It is rounded up to obtain length Q with the quotient of the line number of the two-value square array divided by two.
Left margin coded sequence is taken into Q encoded radio to lowest order direction from highest order, is spliced to form sequence F successively.
Top boundary coded sequence is taken into Q encoded radio to lowest order direction from highest order, is spliced to form sequence G successively.It is spliced to form
Sequence FG and GF, take two splicing sequences in larger (or smaller) person as upper left corner coded sequence S.
Right margin coded sequence is taken into Q encoded radio to lowest order direction from highest order, is spliced to form sequence H successively.
Top boundary coded sequence is taken into Q encoded radio to highest order direction from lowest order, is spliced to form sequence I successively.It is spliced to form
Sequence HI and IH, take two splicing sequences in larger (or smaller) person as upper right corner coded sequence T.
Left margin coded sequence is taken into Q encoded radio to highest order direction from lowest order, is spliced to form sequence J successively.
Bottom boundaries coded sequence is taken into Q encoded radio to lowest order direction from highest order, is spliced to form sequence K successively.It is spliced to form
Sequence JK and KJ, take two splicing sequences in larger (or smaller) person as lower left corner coded sequence U.
Right margin coded sequence is taken into Q encoded radio to highest order direction from lowest order, is spliced to form sequence L successively.
Bottom boundaries coded sequence is taken into Q encoded radio to highest order direction from lowest order, is spliced to form sequence M successively.It is spliced to form
Sequence LM and ML, take two splicing sequences in larger (or smaller) person as lower right corner coded sequence V.
Wherein
Calculating acquisition sequence S, T, U must be consistent with " larger or smaller " selection principle used in V.
It, should by sequence assembly after carrying out ascending order (or descending) sequence to four sequences by the sequential value of sequence S, T, U and V
Four sequences obtain sequence W.Splicing sequence E and W obtain sequence Y, and sequence Y is matrix angle coded sequence.
Specifically, the value on cumulative four vertex of two-value square array, forms vertex and sequence E1;Wherein, baseline encoded value
For non-zero values, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two1;
Left margin coded sequence is taken into Q from highest order to lowest order direction1A left margin coded sequence encoded radio, will take
The Q obtained1A left margin coded sequence encoded radio is spliced to form sequence F successively1;
Top boundary coded sequence is taken into Q from highest order to lowest order direction1A top boundary coded sequence encoded radio, will take
The Q obtained1A top boundary coded sequence encoded radio is spliced to form sequence G successively1;
By sequence F1With sequence G1It is spliced to form sequence F1G1With sequence G1F1, take sequence F1G1With sequence G1F1Middle the greater
As upper left corner coded sequence S1;
Right margin coded sequence is taken into Q from highest order to lowest order direction1A right margin coded sequence encoded radio, will take
The Q obtained1A right margin coded sequence encoded radio is spliced to form sequence H successively1;
Top boundary coded sequence is taken into Q from lowest order to highest order direction1A top boundary coded sequence encoded radio, will take
The Q obtained1A top boundary coded sequence encoded radio is spliced to form sequence I successively1;
By sequence H1With sequence I1It is spliced to form sequence H1I1With sequence I1H1, take sequence H1I1With sequence I1H1Middle the greater
As upper right corner coded sequence T1;
Left margin coded sequence is taken into Q from lowest order to highest order direction1A left margin coded sequence encoded radio, will take
The Q obtained1A left margin coded sequence encoded radio is spliced to form sequence J successively1;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction1A bottom boundaries coded sequence encoded radio, will take
The Q obtained1A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively1;
By sequence J1With sequence K1It is spliced to form sequence J1K1With sequence K1J1, take sequence J1K1With sequence K1J1Middle the greater
As lower left corner coded sequence U1;
Right margin coded sequence is taken into Q from lowest order to highest order direction1A right margin coded sequence encoded radio, will take
The Q obtained1A right margin coded sequence encoded radio is spliced to form sequence L successively1;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction1A bottom boundaries coded sequence encoded radio, will take
The Q obtained1A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively1;
By sequence L1With sequence M1It is spliced to form sequence L1M1With sequence M1L1, take sequence L1M1With sequence M1L1Middle the greater
As lower right corner coded sequence V1;
By sequential value to upper left corner coded sequence S1, upper right corner coded sequence T1, lower left corner coded sequence U1It is compiled with the lower right corner
Code sequence V1After carrying out descending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from big to small1, upper right corner code sequence
Arrange T1, lower left corner coded sequence U1With lower right corner coded sequence V1Obtain sequence W1;Splice vertex and sequence E1With sequence W1It obtains
Sequence Y1, sequence Y1As matrix angle encodes;Or
The value on cumulative four vertex of two-value square array, forms vertex and sequence E2;Wherein, baseline encoded value is non-zero number
Value, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two2;
Left margin coded sequence is taken into Q from highest order to lowest order direction2A left margin coded sequence encoded radio, will take
The Q obtained2A left margin coded sequence encoded radio is spliced to form sequence F successively2;
Top boundary coded sequence is taken into Q from highest order to lowest order direction2A top boundary coded sequence encoded radio, will take
The Q obtained2A top boundary coded sequence encoded radio is spliced to form sequence G successively2;
By sequence F2With sequence G2It is spliced to form sequence F2G2With sequence G2F2, take sequence F2G2With sequence G2F2Middle the greater
As upper left corner coded sequence S2;
Right margin coded sequence is taken into Q from highest order to lowest order direction2A right margin coded sequence encoded radio, will take
The Q obtained2A right margin coded sequence encoded radio is spliced to form sequence H successively2;
Top boundary coded sequence is taken into Q from lowest order to highest order direction2A top boundary coded sequence encoded radio, will take
The Q obtained2A top boundary coded sequence encoded radio is spliced to form sequence I successively2;
By sequence H2With sequence I2It is spliced to form sequence H2I2With sequence I2H2, take sequence H2I2With sequence I2The greater is made in H
For upper right corner coded sequence T2;
Left margin coded sequence is taken into Q from lowest order to highest order direction2A left margin coded sequence encoded radio, will take
The Q obtained2A left margin coded sequence encoded radio is spliced to form sequence J successively2;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction2A bottom boundaries coded sequence encoded radio, will take
The Q obtained2A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively2;
By sequence J2With sequence K2It is spliced to form sequence J2K2With sequence K2J2, take sequence J2K2With sequence K2J2Middle the greater
As lower left corner coded sequence U2;
Right margin coded sequence is taken into Q from lowest order to highest order direction2A right margin coded sequence encoded radio, will take
The Q obtained2A right margin coded sequence encoded radio is spliced to form sequence L successively2;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction2A bottom boundaries coded sequence encoded radio, will take
The Q obtained2A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively2;
By sequence L2With sequence M2It is spliced to form sequence L2M2With sequence M2L2, take sequence L2M2With sequence M2L2Middle the greater
As lower right corner coded sequence V2;
By sequential value to upper left corner coded sequence S2, upper right corner coded sequence T2, lower left corner coded sequence U2It is compiled with the lower right corner
Code sequence V2After carrying out ascending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from small to large2, upper right corner code sequence
Arrange T2, lower left corner coded sequence U2With lower right corner coded sequence V2Obtain sequence W2;Splice vertex and sequence E2With sequence W2It obtains
Sequence Y2, sequence Y2As matrix angle encodes;Or
The value on cumulative four vertex of two-value square array, forms vertex and sequence E3;Wherein, baseline encoded value is non-zero number
Value, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two3;
Left margin coded sequence is taken into Q from highest order to lowest order direction3A left margin coded sequence encoded radio, will take
The Q obtained3A left margin coded sequence encoded radio is spliced to form sequence F successively3;
Top boundary coded sequence is taken into Q from highest order to lowest order direction3A top boundary coded sequence encoded radio, will take
The Q obtained3A top boundary coded sequence encoded radio is spliced to form sequence G successively3;
By sequence F3With sequence G3It is spliced to form sequence F3G3With sequence G3F3, take sequence F3G3With sequence G3F3Middle smaller
As upper left corner coded sequence S3;
Right margin coded sequence is taken into Q from highest order to lowest order direction3A right margin coded sequence encoded radio, will take
The Q obtained3A right margin coded sequence encoded radio is spliced to form sequence H successively3;
Top boundary coded sequence is taken into Q from lowest order to highest order direction3A top boundary coded sequence encoded radio, will take
The Q obtained3A top boundary coded sequence encoded radio is spliced to form sequence I successively3;
By sequence H3With sequence I3It is spliced to form sequence H3I3With sequence I3H3, take sequence H3I3With sequence I3Smaller makees in H
For upper right corner coded sequence T3;
Left margin coded sequence is taken into Q from lowest order to highest order direction3A left margin coded sequence encoded radio, will take
The Q obtained3A left margin coded sequence encoded radio is spliced to form sequence J successively3;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction3A bottom boundaries coded sequence encoded radio, will take
The Q obtained3A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively3;
By sequence J3With sequence K3It is spliced to form sequence J3K3With sequence K3J3, take sequence J3K3With sequence K3J3Middle smaller
As lower left corner coded sequence U3;
Right margin coded sequence is taken into Q from lowest order to highest order direction3A right margin coded sequence encoded radio, will take
The Q obtained3A right margin coded sequence encoded radio is spliced to form sequence L successively3;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction3A bottom boundaries coded sequence encoded radio, will take
The Q obtained3A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively3;
By sequence L3With sequence M3It is spliced to form sequence L3M3With sequence M3L3, take sequence L3M3With sequence M3L3Middle smaller
As lower right corner coded sequence V3;
By sequential value to upper left corner coded sequence S3, upper right corner coded sequence T3, lower left corner coded sequence U3It is compiled with the lower right corner
Code sequence V3After carrying out descending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from big to small3, upper right corner code sequence
Arrange T3, lower left corner coded sequence U3With lower right corner coded sequence V3Obtain sequence W3;Splice vertex and sequence E3With sequence W3It obtains
Sequence Y3, sequence Y3As matrix angle encodes;Or
The value on cumulative four vertex of two-value square array, forms vertex and sequence E4;Wherein, baseline encoded value is non-zero number
Value, non-referenced encoded radio is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two4;
Left margin coded sequence is taken into Q from highest order to lowest order direction4A left margin coded sequence encoded radio, will take
The Q obtained4A left margin coded sequence encoded radio is spliced to form sequence F successively4;
Top boundary coded sequence is taken into Q from highest order to lowest order direction4A top boundary coded sequence encoded radio, will take
The Q obtained4A top boundary coded sequence encoded radio is spliced to form sequence G successively4;
By sequence F4With sequence G4It is spliced to form sequence F4G4With sequence G4F4, take sequence F4G4With sequence G4F4Middle smaller
As upper left corner coded sequence S4;
Right margin coded sequence is taken into Q from highest order to lowest order direction4A right margin coded sequence encoded radio, will take
The Q obtained4A right margin coded sequence encoded radio is spliced to form sequence H successively4;
Top boundary coded sequence is taken into Q from lowest order to highest order direction4A top boundary coded sequence encoded radio, will take
The Q obtained4A top boundary coded sequence encoded radio is spliced to form sequence I successively4;
By sequence H4With sequence I4It is spliced to form sequence H4I4With sequence I4H4, take sequence H4I4With sequence I4H4Middle smaller
As upper right corner coded sequence T4;
Left margin coded sequence is taken into Q from lowest order to highest order direction4A left margin coded sequence encoded radio, will take
The Q obtained4A left margin coded sequence encoded radio is spliced to form sequence J successively4;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction4A bottom boundaries coded sequence encoded radio, will take
The Q obtained4A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively4;
By sequence J4With sequence K4It is spliced to form sequence J4K4With sequence K4J4, take sequence J4K4With sequence K4J4Middle smaller
As lower left corner coded sequence U4;
Right margin coded sequence is taken into Q from lowest order to highest order direction4A right margin coded sequence encoded radio, will take
The Q obtained4A right margin coded sequence encoded radio is spliced to form sequence L successively4;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction4A bottom boundaries coded sequence encoded radio, will take
The Q obtained4A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively4;
By sequence L4With sequence M4It is spliced to form sequence L4M4With sequence M4L4, take sequence L4M4With sequence M4L4Middle smaller
As lower right corner coded sequence V4;
By sequential value to upper left corner coded sequence S4, upper right corner coded sequence T4, lower left corner coded sequence U4It is compiled with the lower right corner
Code sequence V4After carrying out ascending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from small to large4, upper right corner code sequence
Arrange T4, lower left corner coded sequence U4With lower right corner coded sequence V4Obtain sequence W4;Splice vertex and sequence E4With sequence W4It obtains
Sequence Y4, sequence Y4As matrix angle encodes.
Step 3 includes:The matrix data of more multiple two-value square arrays encodes, including matrix side coding and matrix angle are compiled
Code sequence judges that the two-value square array with same matrix data encoding is judged to two-value square array of equal value.
Equivalence two-value square array identifying system of the invention and its recognition methods and tradition rotation plus overturning comparison system and
The comparison of method refers to table 1;
Table 1
First row R1 indicates that the line number columns of square array, secondary series R2 expressions are placed on the square array in table 1
The quantity of baseline encoded value, third row R3 indicate that there are the square arrays of how many non-equivalence in the case of this, and the 4th row R4 is this feelings
Present invention equivalence two-value square array identifying system and its required matrix data group/cording quantity stored of recognition methods under condition, the 5th
Row R5 is that the eigenmatrix quantity stored needed for system and method is compared in tradition rotation plus overturning in the case of this.
It is found by experimental comparison, present invention equivalence two-value square array identifying system and its recognition methods generate non-etc.
The quantity of the valence square array quantity non-equivalence square array that system and method generates compared with tradition rotation plus overturning is identical,
Shown data are arranged for R3.Which show two-value square array identifying systems of equal value of the invention and its recognition methods effectively to identify
Valence and non-equivalence square array.
In addition, R4 column datas are consistent with corresponding R3 column datas always, and R5 column datas are corresponding R3 row always
Eight times of data.It adds, based on matrix data coding production method it is found that when the line number columns of square array is bigger, one
The the memory space needed for all equivalent matrices of the memory space than a square array needed for a matrix data coding the few
It is more.So the present invention equivalence two-value square array identifying system and its recognition methods needed for memory space compared to tradition side
Method is with the obvious advantage.In addition, whenever judging a square array newly inputted, because the data volume that need to be compared substantially reduces, therefore this
Invention two-value square array identifying system of equal value and its speed of recognition methods are also superior to conventional method.
Specific embodiments of the present invention are described above.It is to be appreciated that the invention is not limited in above-mentioned
Particular implementation, those skilled in the art can make a variety of changes or change within the scope of the claims, this not shadow
Ring the substantive content of the present invention.In the absence of conflict, the feature in embodiments herein and embodiment can arbitrary phase
Mutually combination.
Claims (10)
1. a kind of equivalence two-value square array identifying system, which is characterized in that including:
Data input module, for inputting two-value square array data;
Data coding module, data coding module are connect with data input module, for the two-value square array data to input
Carry out coded treatment, generator matrix data encoding;
Data comparing module, data comparing module are connect with data coding module, are encoded and are carried out for the matrix data to generation
It compares;
Data outputting module, data outputting module are connect with data comparing module, are used for the comparison knot of output matrix data encoding
Fruit.
2. equivalence two-value square array identifying system according to claim 1, which is characterized in that matrix data, which encodes, includes
Matrix side encodes and matrix angle coding.
3. a kind of equivalence two-value square array recognition methods, which is characterized in that include the following steps:
Input two-value square array data;
Coded treatment, generator matrix data encoding are carried out to the two-value square array data of input;
The matrix data coding of generation is compared;
The comparison result of output matrix data encoding.
4. equivalence two-value square array recognition methods according to claim 3, which is characterized in that matrix data, which encodes, includes
Matrix side encodes and matrix angle coding.
5. equivalence two-value square array recognition methods according to claim 4, which is characterized in that square to the two-value of input
The step of matrix data progress coded treatment, generator matrix data encoding includes the steps that generator matrix side coding:
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and the bottom boundaries for obtaining two-value square array are compiled
Code sequence;
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are ranked up, obtained
It is encoded to matrix side.
6. equivalence two-value square array recognition methods according to claim 5, which is characterized in that obtain two-value square array
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and the step of bottom boundaries coded sequence include:
Using any one in the two-value of the two-value square array data of input as baseline encoded value;
It is most left by each baseline encoded value column in every a line of the cumulative two-value square array data of row and two-value square array
Columns between row is poor, and sequentially preserves and form left margin coded sequence;Wherein
The length of left margin coded sequence is the line number of two-value square array data, and each sequence position of left margin coded sequence is
The sum of the columns difference often gone between each baseline encoded value column and two-value square array left column;Left margin coded sequence
First place is the sum of the columns difference between each baseline encoded value column and two-value square array left column in first trip, and left margin is compiled
The first place of code sequence is left margin coded sequence highest order;The last position of left margin coded sequence is each baseline encoded value in footline
The last position of the sum of columns difference between column and two-value square array left column, left margin coded sequence is left margin code sequence
Row lowest order;
It is most right by each baseline encoded value column in every a line of the cumulative two-value square array data of row and two-value square array
Columns between row is poor, and sequentially preserves and form right margin coded sequence;Wherein
The length of right margin coded sequence is the line number of two-value square array data, and each sequence position of right margin coded sequence is
The sum of the columns difference often gone between each baseline encoded value column and two-value square array right column;Right margin coded sequence
First place is the sum of the columns difference between each baseline encoded value column and two-value square array right column in first trip, and right margin is compiled
The first place of code sequence is right margin coded sequence highest order;The last position of right margin coded sequence is each baseline encoded institute in footline
The last position of the sum of columns difference between row and two-value square array right column, right margin coded sequence is right margin coded sequence
Lowest order;
Each baseline encoded value is expert at and two-value square array first trip in each row for the two-value square array data that add up by row
Between line number it is poor, and sequentially preserve form top boundary coded sequence;Wherein
The length of top boundary coded sequence is the columns of two-value square array data, and each sequence position of top boundary coded sequence is
The each baseline encoded value of each column is expert at the sum of the line number difference between two-value square array first trip;The head of top boundary coded sequence
Position is expert at the sum of the line number difference between two-value square array first trip for each baseline encoded value in first, top boundary code sequence
The first place of row is top boundary coded sequence highest order;The last position of top boundary coded sequence is each baseline encoded value place in terminal column
The last position of the sum of line number difference between row and two-value square array first trip, top boundary coded sequence is that top boundary coded sequence is minimum
Position;
Each baseline encoded value is expert at and two-value square array footline in each row for the two-value square array data that add up by row
Between line number it is poor, and sequentially preserve form bottom boundaries coded sequence;Wherein
The length of bottom boundaries coded sequence is the columns of two-value square array data, and each sequence position of bottom boundaries coded sequence is
The each baseline encoded value of each column is expert at the sum of the line number difference between two-value square array footline;The head of bottom boundaries coded sequence
Position is expert at the sum of the line number difference between two-value square array footline for each baseline encoded value in first, bottom boundaries code sequence
The first place of row is bottom boundaries coded sequence highest order;The last position of bottom boundaries coded sequence is each baseline encoded value place in terminal column
The last position of the sum of line number difference between row and two-value square array footline, bottom boundaries coded sequence is that bottom boundaries coded sequence is minimum
Position;
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are ranked up, obtained
It is encoded to matrix side.
7. equivalence two-value square array recognition methods according to claim 6, which is characterized in that left margin code sequence
Row, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are ranked up, and obtain the step of matrix side encodes
Including:
Obtain sequence A1, sequence A1It is larger for left margin coded sequence and sequential value in the Inversion Sequence of the left margin coded sequence
Sequence;
Obtain sequence B1, sequence B1It is larger for right margin coded sequence and sequential value in the Inversion Sequence of the right margin coded sequence
Sequence;
Obtain sequence C1, sequence C1It is larger for top boundary coded sequence and sequential value in the Inversion Sequence of the top boundary coded sequence
Sequence;
Obtain sequence D1, sequence D1It is larger for bottom boundaries coded sequence and sequential value in the Inversion Sequence of the bottom boundaries coded sequence
Sequence;
By sequential value to sequence A1, sequence B1, sequence C1And sequence D1After carrying out descending sort, by the sequence of sequential value from big to small
Splice sequence A1, sequence B1, sequence C1And sequence D1Obtain sequence X1, sequence X1As matrix side encodes;Wherein, high bit sequence position
The whole sequential value of the big sequence of numerical value is big;Or
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are ranked up, obtained
The step of being encoded to matrix side include:
Obtain sequence A2, sequence A2It is larger for left margin coded sequence and sequential value in the Inversion Sequence of the left margin coded sequence
Sequence;
Obtain sequence B2, sequence B2It is larger for right margin coded sequence and sequential value in the Inversion Sequence of the right margin coded sequence
Sequence;
Obtain sequence C2, sequence C2It is larger for top boundary coded sequence and sequential value in the Inversion Sequence of the top boundary coded sequence
Sequence;
Obtain sequence D2, sequence D2It is larger for bottom boundaries coded sequence and sequential value in the Inversion Sequence of the bottom boundaries coded sequence
Sequence;
By sequential value to sequence A2, sequence B2, sequence C2And sequence D2After carrying out ascending sort, by the sequence of sequential value from small to large
Splice sequence A2, sequence B2, sequence C2And sequence D2Obtain sequence X2, sequence X2As matrix side encodes;Wherein, high bit sequence position
The whole sequential value of the big sequence of numerical value is big;Or
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are ranked up, obtained
The step of being encoded to matrix side include:
Obtain sequence A3, sequence A3It is smaller for left margin coded sequence and sequential value in the Inversion Sequence of the left margin coded sequence
Sequence;
Obtain sequence B3, sequence B3It is smaller for right margin coded sequence and sequential value in the Inversion Sequence of the right margin coded sequence
Sequence;
Obtain sequence C3, sequence C3It is smaller for top boundary coded sequence and sequential value in the Inversion Sequence of the top boundary coded sequence
Sequence;
Obtain sequence D3, sequence D3It is smaller for bottom boundaries coded sequence and sequential value in the Inversion Sequence of the bottom boundaries coded sequence
Sequence;
By sequential value to sequence A3, sequence B3, sequence C3And sequence D3After carrying out descending sort, by the sequence of sequential value from big to small
Splice sequence A3, sequence B3, sequence C3And sequence D3Obtain sequence X3, sequence X3As matrix side encodes;Wherein, high bit sequence position
The whole sequential value of the big sequence of numerical value is big;Or
Left margin coded sequence, right margin coded sequence, top boundary coded sequence and bottom boundaries coded sequence are ranked up, obtained
The step of being encoded to matrix side include:
Obtain sequence A4, sequence A4It is smaller for left margin coded sequence and sequential value in the Inversion Sequence of the left margin coded sequence
Sequence;
Obtain sequence B4, sequence B4It is smaller for right margin coded sequence and sequential value in the Inversion Sequence of the right margin coded sequence
Sequence;
Obtain sequence C4, sequence C4It is smaller for top boundary coded sequence and sequential value in the Inversion Sequence of the top boundary coded sequence
Sequence;
Obtain sequence D4, sequence D4It is smaller for bottom boundaries coded sequence and sequential value in the Inversion Sequence of the bottom boundaries coded sequence
Sequence;
By sequential value to sequence A4, sequence B4, sequence C4And sequence D4After carrying out ascending sort, by the sequence of sequential value from small to large
Splice sequence A4, sequence B4, sequence C4And sequence D4Obtain sequence X4, sequence X4As matrix side encodes;Wherein, high bit sequence position
The whole sequential value of the big sequence of numerical value is big.
8. equivalence two-value square array recognition methods according to claim 4, which is characterized in that square to the two-value of input
The step of matrix data progress coded treatment, generator matrix data encoding includes the steps that generator matrix angle coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence;
Obtain upper left corner coded sequence, upper right corner coded sequence, lower left corner coded sequence and lower right corner coded sequence;
Upper left corner coded sequence, upper right corner coded sequence, lower left corner coded sequence and lower right corner coded sequence are ranked up, obtained
It is encoded to matrix angle.
9. equivalence two-value square array recognition methods according to claim 8, which is characterized in that square to the two-value of input
The step of matrix data progress coded treatment, generator matrix data encoding includes the steps that generator matrix angle coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E1;Wherein, baseline encoded value is non-zero values, non-
Baseline encoded value is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two1;
Left margin coded sequence is taken into Q from highest order to lowest order direction1A left margin coded sequence encoded radio, by acquirement
Q1A left margin coded sequence encoded radio is spliced to form sequence F successively1;
Top boundary coded sequence is taken into Q from highest order to lowest order direction1A top boundary coded sequence encoded radio, by acquirement
Q1A top boundary coded sequence encoded radio is spliced to form sequence G successively1;
By sequence F1With sequence G1It is spliced to form sequence F1G1With sequence G1F1, take sequence F1G1With sequence G1F1Middle the greater is as left
Upper angle coded sequence S1;
Right margin coded sequence is taken into Q from highest order to lowest order direction1A right margin coded sequence encoded radio, by acquirement
Q1A right margin coded sequence encoded radio is spliced to form sequence H successively1;
Top boundary coded sequence is taken into Q from lowest order to highest order direction1A top boundary coded sequence encoded radio, by acquirement
Q1A top boundary coded sequence encoded radio is spliced to form sequence I successively1;
By sequence H1With sequence I1It is spliced to form sequence H1I1With sequence I1H1, take sequence H1I1With sequence I1H1Middle the greater is as right
Upper angle coded sequence T1;
Left margin coded sequence is taken into Q from lowest order to highest order direction1A left margin coded sequence encoded radio, by acquirement
Q1A left margin coded sequence encoded radio is spliced to form sequence J successively1;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction1A bottom boundaries coded sequence encoded radio, by acquirement
Q1A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively1;
By sequence J1With sequence K1It is spliced to form sequence J1K1With sequence K1J1, take sequence J1K1With sequence K1J1Middle the greater is as left
Inferior horn coded sequence U1;
Right margin coded sequence is taken into Q from lowest order to highest order direction1A right margin coded sequence encoded radio, by acquirement
Q1A right margin coded sequence encoded radio is spliced to form sequence L successively1;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction1A bottom boundaries coded sequence encoded radio, by acquirement
Q1A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively1;
By sequence L1With sequence M1It is spliced to form sequence L1M1With sequence M1L1, take sequence L1M1With sequence M1L1Middle the greater is as right
Inferior horn coded sequence V1;
By sequential value to upper left corner coded sequence S1, upper right corner coded sequence T1, lower left corner coded sequence U1With lower right corner code sequence
Arrange V1After carrying out descending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from big to small1, upper right corner coded sequence
T1, lower left corner coded sequence U1With lower right corner coded sequence V1Obtain sequence W1;Splice vertex and sequence E1With sequence W1Obtain sequence
Arrange Y1, sequence Y1As matrix angle encodes;Or
Coded treatment carried out to the two-value square array data of input, the step of generator matrix data encoding includes generator matrix angle
The step of coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E2;Wherein, baseline encoded value is non-zero values, non-
Baseline encoded value is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two2;
Left margin coded sequence is taken into Q from highest order to lowest order direction2A left margin coded sequence encoded radio, by acquirement
Q2A left margin coded sequence encoded radio is spliced to form sequence F successively2;
Top boundary coded sequence is taken into Q from highest order to lowest order direction2A top boundary coded sequence encoded radio, by acquirement
Q2A top boundary coded sequence encoded radio is spliced to form sequence G successively2;
By sequence F2With sequence G2It is spliced to form sequence F2G2With sequence G2F2, take sequence F2G2With sequence G2F2Middle the greater is as left
Upper angle coded sequence S2;
Right margin coded sequence is taken into Q from highest order to lowest order direction2A right margin coded sequence encoded radio, by acquirement
Q2A right margin coded sequence encoded radio is spliced to form sequence H successively2;
Top boundary coded sequence is taken into Q from lowest order to highest order direction2A top boundary coded sequence encoded radio, by acquirement
Q2A top boundary coded sequence encoded radio is spliced to form sequence I successively2;
By sequence H2With sequence I2It is spliced to form sequence H2I2With sequence I2H2, take sequence H2I2With sequence I2The greater is as right in H
Upper angle coded sequence T2;
Left margin coded sequence is taken into Q from lowest order to highest order direction2A left margin coded sequence encoded radio, by acquirement
Q2A left margin coded sequence encoded radio is spliced to form sequence J successively2;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction2A bottom boundaries coded sequence encoded radio, by acquirement
Q2A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively2;
By sequence J2With sequence K2It is spliced to form sequence J2K2With sequence K2J2, take sequence J2K2With sequence K2J2Middle the greater is as left
Inferior horn coded sequence U2;
Right margin coded sequence is taken into Q from lowest order to highest order direction2A right margin coded sequence encoded radio, by acquirement
Q2A right margin coded sequence encoded radio is spliced to form sequence L successively2;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction2A bottom boundaries coded sequence encoded radio, by acquirement
Q2A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively2;
By sequence L2With sequence M2It is spliced to form sequence L2M2With sequence M2L2, take sequence L2M2With sequence M2L2Middle the greater is as right
Inferior horn coded sequence V2;
By sequential value to upper left corner coded sequence S2, upper right corner coded sequence T2, lower left corner coded sequence U2With lower right corner code sequence
Arrange V2After carrying out ascending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from small to large2, upper right corner coded sequence
T2, lower left corner coded sequence U2With lower right corner coded sequence V2Obtain sequence W2;Splice vertex and sequence E2With sequence W2Obtain sequence
Arrange Y2, sequence Y2As matrix angle encodes;Or
Coded treatment carried out to the two-value square array data of input, the step of generator matrix data encoding includes generator matrix angle
The step of coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E3;Wherein, baseline encoded value is non-zero values, non-
Baseline encoded value is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two3;
Left margin coded sequence is taken into Q from highest order to lowest order direction3A left margin coded sequence encoded radio, by acquirement
Q3A left margin coded sequence encoded radio is spliced to form sequence F successively3;
Top boundary coded sequence is taken into Q from highest order to lowest order direction3A top boundary coded sequence encoded radio, by acquirement
Q3A top boundary coded sequence encoded radio is spliced to form sequence G successively3;
By sequence F3With sequence G3It is spliced to form sequence F3G3With sequence G3F3, take sequence F3G3With sequence G3F3Middle smaller is as left
Upper angle coded sequence S3;
Right margin coded sequence is taken into Q from highest order to lowest order direction3A right margin coded sequence encoded radio, by acquirement
Q3A right margin coded sequence encoded radio is spliced to form sequence H successively3;
Top boundary coded sequence is taken into Q from lowest order to highest order direction3A top boundary coded sequence encoded radio, by acquirement
Q3A top boundary coded sequence encoded radio is spliced to form sequence I successively3;
By sequence H3With sequence I3It is spliced to form sequence H3I3With sequence I3H3, take sequence H3I3With sequence I3Smaller is as right in H
Upper angle coded sequence T3;
Left margin coded sequence is taken into Q from lowest order to highest order direction3A left margin coded sequence encoded radio, by acquirement
Q3A left margin coded sequence encoded radio is spliced to form sequence J successively3;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction3A bottom boundaries coded sequence encoded radio, by acquirement
Q3A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively3;
By sequence J3With sequence K3It is spliced to form sequence J3K3With sequence K3J3, take sequence J3K3With sequence K3J3Middle smaller is as left
Inferior horn coded sequence U3;
Right margin coded sequence is taken into Q from lowest order to highest order direction3A right margin coded sequence encoded radio, by acquirement
Q3A right margin coded sequence encoded radio is spliced to form sequence L successively3;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction3A bottom boundaries coded sequence encoded radio, by acquirement
Q3A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively3;
By sequence L3With sequence M3It is spliced to form sequence L3M3With sequence M3L3, take sequence L3M3With sequence M3L3Middle smaller is as right
Inferior horn coded sequence V3;
By sequential value to upper left corner coded sequence S3, upper right corner coded sequence T3, lower left corner coded sequence U3With lower right corner code sequence
Arrange V3After carrying out descending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from big to small3, upper right corner coded sequence
T3, lower left corner coded sequence U3With lower right corner coded sequence V3Obtain sequence W3;Splice vertex and sequence E3With sequence W3Obtain sequence
Arrange Y3, sequence Y3As matrix angle encodes;Or
Coded treatment carried out to the two-value square array data of input, the step of generator matrix data encoding includes generator matrix angle
The step of coding:
The value on cumulative four vertex of two-value square array, forms vertex and sequence E4;Wherein, baseline encoded value is non-zero values, non-
Baseline encoded value is zero;
It is rounded up to obtain length Q with the quotient of the line number of two-value square array divided by two4;
Left margin coded sequence is taken into Q from highest order to lowest order direction4A left margin coded sequence encoded radio, by acquirement
Q4A left margin coded sequence encoded radio is spliced to form sequence F successively4;
Top boundary coded sequence is taken into Q from highest order to lowest order direction4A top boundary coded sequence encoded radio, by acquirement
Q4A top boundary coded sequence encoded radio is spliced to form sequence G successively4;
By sequence F4With sequence G4It is spliced to form sequence F4G4With sequence G4F4, take sequence F4G4With sequence G4F4Middle smaller is as left
Upper angle coded sequence S4;
Right margin coded sequence is taken into Q from highest order to lowest order direction4A right margin coded sequence encoded radio, by acquirement
Q4A right margin coded sequence encoded radio is spliced to form sequence H successively4;
Top boundary coded sequence is taken into Q from lowest order to highest order direction4A top boundary coded sequence encoded radio, by acquirement
Q4A top boundary coded sequence encoded radio is spliced to form sequence I successively4;
By sequence H4With sequence I4It is spliced to form sequence H4I4With sequence I4H4, take sequence H4I4With sequence I4H4Middle smaller is as right
Upper angle coded sequence T4;
Left margin coded sequence is taken into Q from lowest order to highest order direction4A left margin coded sequence encoded radio, by acquirement
Q4A left margin coded sequence encoded radio is spliced to form sequence J successively4;
Bottom boundaries coded sequence is taken into Q from highest order to lowest order direction4A bottom boundaries coded sequence encoded radio, by acquirement
Q4A bottom boundaries coded sequence encoded radio is spliced to form sequence K successively4;
By sequence J4With sequence K4It is spliced to form sequence J4K4With sequence K4J4, take sequence J4K4With sequence K4J4Middle smaller is as left
Inferior horn coded sequence U4;
Right margin coded sequence is taken into Q from lowest order to highest order direction4A right margin coded sequence encoded radio, by acquirement
Q4A right margin coded sequence encoded radio is spliced to form sequence L successively4;
Bottom boundaries coded sequence is taken into Q from lowest order to highest order direction4A bottom boundaries coded sequence encoded radio, by acquirement
Q4A bottom boundaries coded sequence encoded radio is spliced to form sequence M successively4;
By sequence L4With sequence M4It is spliced to form sequence L4M4With sequence M4L4, take sequence L4M4With sequence M4L4Middle smaller is as right
Inferior horn coded sequence V4;
By sequential value to upper left corner coded sequence S4, upper right corner coded sequence T4, lower left corner coded sequence U4With lower right corner code sequence
Arrange V4After carrying out ascending sort, by the sequential concatenation upper left corner coded sequence S of sequential value from small to large4, upper right corner coded sequence
T4, lower left corner coded sequence U4With lower right corner coded sequence V4Obtain sequence W4;Splice vertex and sequence E4With sequence W4Obtain sequence
Arrange Y4, sequence Y4As matrix angle encodes.
10. the two-value square array recognition methods of equal value according to claim 3 to 9 any one, which is characterized in that life
At matrix data coding be compared the step of include:
The matrix data of more multiple two-value square arrays encodes, and judges the two-value square array with same matrix data encoding
It is judged to two-value square array of equal value.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711451120 | 2017-12-27 | ||
CN2017114511203 | 2017-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108549828A true CN108549828A (en) | 2018-09-18 |
CN108549828B CN108549828B (en) | 2021-02-19 |
Family
ID=63516334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810185002.0A Expired - Fee Related CN108549828B (en) | 2017-12-27 | 2018-03-06 | Equivalent binary square matrix identification system and identification method thereof |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108549828B (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064840B (en) * | 2006-04-26 | 2010-11-03 | 日电(中国)有限公司 | Snake-shaped matrix coder/decoder and visual sign coding and presenting system |
US20100281332A1 (en) * | 2007-12-25 | 2010-11-04 | Jun Xu | encoding method and device for low density generator matrix codes |
CN101149813B (en) * | 2007-07-13 | 2012-02-29 | 中兴通讯股份有限公司 | Matrix type colorful two-dimensional bar code encoding and decoding method |
CN102388610A (en) * | 2009-02-09 | 2012-03-21 | 三星电子株式会社 | Video encoding method and apparatus using low-complexity frequency transformation, and video decoding method and apparatus |
CN103838649A (en) * | 2014-03-06 | 2014-06-04 | 中国科学院成都生物研究所 | Method for reducing calculation amount in binary coding storage system |
CN104243095A (en) * | 2014-09-11 | 2014-12-24 | 山东大学 | Code word type blind identification method for convolutional code and linear block code |
CN104766351A (en) * | 2015-04-24 | 2015-07-08 | 惠仁望都医疗设备科技有限公司 | MRI super-scope coding imaging method |
CN106934441A (en) * | 2017-03-26 | 2017-07-07 | 袁昕喆 | A kind of multidimensional code and its coding and decoding methods |
-
2018
- 2018-03-06 CN CN201810185002.0A patent/CN108549828B/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064840B (en) * | 2006-04-26 | 2010-11-03 | 日电(中国)有限公司 | Snake-shaped matrix coder/decoder and visual sign coding and presenting system |
CN101149813B (en) * | 2007-07-13 | 2012-02-29 | 中兴通讯股份有限公司 | Matrix type colorful two-dimensional bar code encoding and decoding method |
US20100281332A1 (en) * | 2007-12-25 | 2010-11-04 | Jun Xu | encoding method and device for low density generator matrix codes |
CN102388610A (en) * | 2009-02-09 | 2012-03-21 | 三星电子株式会社 | Video encoding method and apparatus using low-complexity frequency transformation, and video decoding method and apparatus |
CN103838649A (en) * | 2014-03-06 | 2014-06-04 | 中国科学院成都生物研究所 | Method for reducing calculation amount in binary coding storage system |
CN104243095A (en) * | 2014-09-11 | 2014-12-24 | 山东大学 | Code word type blind identification method for convolutional code and linear block code |
CN104766351A (en) * | 2015-04-24 | 2015-07-08 | 惠仁望都医疗设备科技有限公司 | MRI super-scope coding imaging method |
CN106934441A (en) * | 2017-03-26 | 2017-07-07 | 袁昕喆 | A kind of multidimensional code and its coding and decoding methods |
Non-Patent Citations (2)
Title |
---|
HENGZHOU XU ET AL.: "Algebraic-Based Nonbinary LDPC Codes with Flexible Field Orders and Code Rates", 《CHINA COMMUNICATIONS》 * |
周春佳等: "对角化LDPC压缩感知观测矩阵生成方法", 《计算机科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108549828B (en) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111405281A (en) | Point cloud attribute information encoding method, point cloud attribute information decoding method, storage medium and terminal equipment | |
CN105183788B (en) | A kind of Chinese AC automatic machine working method based on the retrieval of keyword dictionary tree | |
CN109979506A (en) | Nonvolatile memory and control method | |
JP2014229299A (en) | Multidimensional color barcode and method | |
CN107545289A (en) | The coding method of matrix two-dimensional code and coding/decoding method | |
WO2021169502A1 (en) | A pixel image as well as its processing method and application system | |
Riznyk et al. | Composing method of anti-interference codes based on non-equidistant structures | |
CN106651972A (en) | Binary image coding and decoding methods and devices | |
CN106503003A (en) | A kind of compression of expandable mark language XML document, decompressing method and device | |
TWI463410B (en) | Barcode structure and encoding method thereof | |
CN104243095A (en) | Code word type blind identification method for convolutional code and linear block code | |
CN109886711A (en) | A kind of bar code coding method and device | |
CN108549828A (en) | Two-value square array identifying system of equal value and its recognition methods | |
CN101908378B (en) | Controller of flash memory and method of accessing data in the flash memory | |
CN103927575B (en) | By coding pattern to form the method and device of dot pattern | |
CN1768480B (en) | Encoding device and method, decoding device and method | |
CN107729479A (en) | A kind of method and device for the numbering for generating document | |
CN109450460A (en) | A kind of parameter identification method of RS code and the concatenated code of convolutional code | |
US20110285558A1 (en) | Method for storing node information of huffman tree and corresponding decoding method | |
CN105938469A (en) | Code storage method, data storage structure of texts and method for compressed storage of texts and statistics output | |
CN103218349A (en) | Reading and conversion method for PLC (Programmable Logic Controller) instruction storage rule in PMW-format file | |
CN101882206B (en) | Decoding chip of RSS (Really Simple Syndication) bar code | |
CN115600627A (en) | Color two-dimensional code generation method | |
Feng et al. | Design and realization of 2D color barcode with high compression ratio | |
CN104573782B (en) | A kind of bar code encoding and decoding method |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |