CN110348265B - Novel matrix code restoration method based on parallel coordinate system - Google Patents
Novel matrix code restoration method based on parallel coordinate system Download PDFInfo
- Publication number
- CN110348265B CN110348265B CN201910652520.3A CN201910652520A CN110348265B CN 110348265 B CN110348265 B CN 110348265B CN 201910652520 A CN201910652520 A CN 201910652520A CN 110348265 B CN110348265 B CN 110348265B
- Authority
- CN
- China
- Prior art keywords
- matrix code
- coordinate system
- parallel
- coordinate
- infinity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/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/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1452—Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
-
- 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/146—Methods for optical code recognition the method including quality enhancement steps
Abstract
The invention relates to the technical field of matrix code reduction, in particular to a novel matrix code reduction method based on a parallel coordinate system, which comprises an L1 step of obtaining a characteristic point set P of a matrix code picture to be identified in a Cartesian coordinate system CC by using an edge characteristic extraction operator, wherein the Cartesian coordinate system CC comprises coordinate axes X1 and Y1; l2, constructing a parallel coordinate system PC comprising coordinate axes X2, Y2 and Z2, and a coordinate axis U2 perpendicular to said coordinate axes X2, Y2, Z2. The matrix code restoration method can acquire the boundary line of each module of the matrix code through the interconversion between the Cartesian coordinate system CC and the parallel coordinate system PC, so that the aim of restoring the matrix code to be recognized is fulfilled, the matrix code restoration method is suitable for matrix code pictures to be recognized which are aberration caused by small picture size, insufficient camera resolution and the like, and the recognition effect of the matrix code is effectively improved.
Description
Technical Field
The invention relates to the technical field of matrix code reduction, in particular to a novel matrix code reduction method based on a parallel coordinate system.
Background
In social production and life, the barcode technology brings great convenience to people. The two-dimensional matrix code plays an important role in the field of information automation due to the characteristics of large capacity, strong error correction capability and the like. As one of the Matrix codes, the Data Matrix code is particularly suitable for printing on the surface of a small object, but it does not have any feature of being readable in any direction like the QR code.
The encoding and decoding technology of the standard Data Matrix code is mature at present, but in practical application, the successful decoding of the bar code in the picture is based on the correct identification of the bar code. Since the factors such as the self-resolution of the camera, the focusing condition, the actual physical size of the target object, and the ambient light directly affect the imaging effect of the decoded picture, it makes it challenging to correctly restore the matrix code from the given picture.
For example, when Data Matrix codes are used for biological plant sample tracking, since the Data Matrix codes are printed on the bottom of a test tube, the area of an image area containing the Data Matrix codes tends to be small, the resolution is insufficient, and rotation exists, which makes it difficult to perform restoration identification on the Data Matrix codes by using a conventional method.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a novel matrix code restoration method based on a parallel coordinate system.
The technical scheme adopted by the invention for solving the technical problems is as follows: a novel matrix code restoration method based on a parallel coordinate system comprises
L1, using an edge feature extraction operator to obtain a feature point set P of a matrix code picture to be identified in a Cartesian coordinate system CC, wherein the Cartesian coordinate system CC comprises coordinate axes X1 and Y1;
l2, constructing a parallel coordinate system PC comprising coordinate axes X2, Y2 and Z2, and a coordinate axis U2 perpendicular to said coordinate axes X2, Y2, Z2; wherein the coordinate values of the coordinate axes X2, Y2 and Z2 corresponding to the coordinate axis U2 are-D, 0 and D; the coordinate value of the coordinate axis U2 corresponding to the coordinate axes X2, Y2 and Z2 is 0;
l3, converting all the feature points in the feature point set P to the parallel coordinate system PC to obtain a series of line segments, and recording the positions of the line segment intersection points and the intersection times of each intersection point;
l4, finding two straight lines or three straight lines which are perpendicular to the coordinate axis U2 and pass through the intersection points, wherein the sum of the intersection times of the two straight lines or the three straight lines is the largest;
l5, finding equidistant intersection points which are arranged equidistantly and have the largest sum of intersection times on the straight line;
l6, converting the equidistant intersection points into equidistant parallel lines in a Cartesian coordinate system CC;
and L7, determining the boundary line of each module of the matrix code through the equidistant parallel lines to restore the matrix code to be identified.
Preferably, in L1, the edge feature extraction operator is a Canny edge feature extraction operator.
Preferably, in L2, the coordinates of the points where the coordinate axes X2, Y2, Z2 intersect the coordinate axis U2 are (-D, 0, ∞), (0, ∞, 0, ∞), (D, ∞, 0), respectively.
Preferably, in L3, when the characteristic point p in the cartesian coordinate system CC is (xp, yp), the characteristic point p corresponds to two line segments lv and lw in the parallel coordinate system PC, where lv is a line segment formed by connecting points v (-D, xp, infinity) and v (0, infinity, yp, infinity), and lw is a line segment formed by connecting points w (0, infinity, yp, infinity) and w (D, infinity, and xp).
Preferably, in L4, if the straight lines found coincide with coordinate axes X2, Y2, and Z2, there are three straight lines; otherwise, two.
Preferably, if the straight lines include the straight line V1 and the straight line V2, the straight line V1 and the straight line V2 correspond to two mutually perpendicular matrix main directions of the matrix code to be recognized in the cartesian coordinate system CC.
Preferably, if the straight line includes the axis X2, the axis Y2 and the axis Z2, the axis X2, the axis Y2 or the axis Y2, the axis Z2 correspond to two mutually perpendicular matrix main directions of the matrix code to be identified in the cartesian coordinate system CC.
Preferably, in L7, the position of each module of the matrix code and its represented 0/1 binary value are determined by the boundary line of each module of the matrix code.
Preferably, L8 is further included, and the restored matrix code is decoded by a general decoding library.
Preferably, the general decoding library comprises a ZXing general decoding library.
The matrix code recovery method has the advantages that the boundary line of each module of the matrix code can be obtained through the mutual conversion of the Cartesian coordinate system CC and the parallel coordinate system PC, so that the purpose of recovering the matrix code to be recognized is achieved, the matrix code recovery method is suitable for matrix code pictures to be recognized which are aberration caused by small picture size, insufficient camera resolution and the like, and the recognition effect of the matrix code is effectively improved.
Drawings
FIG. 1 is a schematic representation of a Cartesian coordinate system CC in accordance with the present invention;
FIG. 2 is a schematic diagram of a parallel coordinate system PC;
FIG. 3 is a schematic diagram of equidistant intersection points in a parallel coordinate system PC;
fig. 4 is a diagram of two sets of matrix code module boundary lines formed by the equidistant intersection point transitions in fig. 3.
Detailed Description
The technical scheme of the invention is further explained by the specific implementation mode in combination with the attached drawings.
As shown in fig. 1 to 4, a novel matrix code restoration method based on a parallel coordinate system includes L1, and a feature point set P of a matrix code picture to be identified in a cartesian coordinate system CC is obtained by using an edge feature extraction operator Canny, where the cartesian coordinate system CC includes coordinate axes X1 and Y1. The most suitable method is to obtain the edge feature point information of the matrix code to be identified through an edge feature extraction operator Canny.
L2, constructing a parallel coordinate system PC comprising coordinate axes X2, Y2 and Z2, and a coordinate axis U2 perpendicular to said coordinate axes X2, Y2, Z2; wherein the coordinate values of the coordinate axes X2, Y2 and Z2 corresponding to the coordinate axis U2 are-D, 0 and D; the coordinate axis U2 has coordinate values of 0 corresponding to the coordinate axes X2, Y2 and Z2. That is, the coordinates of the points where the coordinate axes X2, Y2, Z2 intersect the coordinate axis U2 are (-D, 0, infinity), (0, infinity, 0, infinity), (D, infinity, 0), respectively.
L3, converting all the feature points in the feature point set P to the parallel coordinate system PC to obtain a series of line segments, and recording the positions of the line segment intersection points and the intersection times of each intersection point. The feature point-to-line segment conversion process is as follows, and if the feature point p in the cartesian coordinate system CC is (xp, yp), the feature point p corresponds to two line segments lv and lw in the parallel coordinate system PC, where lv is a line segment formed by connecting points v (-D, xp, infinity) and v (0, infinity, yp, infinity), and lw is a line segment formed by connecting points w (0, infinity, yp, infinity) and w (D, infinity, -xp). The greater the number of times a line segment intersects a point in the parallel coordinate system PC, the higher the probability that a straight line will exist in the cartesian coordinate system CC, and the straight line will pass through the feature point in the cartesian coordinate system CC represented by the line segment in the parallel coordinate system PC.
L4, finding two or three straight lines perpendicular to the coordinate axis U2 and passing through the intersection points with the largest sum of the intersection times. If the found straight lines are coincided with the coordinate axes X2, Y2 and Z2, the number of the straight lines is three; otherwise, two. If the straight lines include the straight line V1 and the straight line V2, the straight line V1 and the straight line V2 correspond to two mutually perpendicular matrix main directions of the matrix code to be identified in the cartesian coordinate system CC. If the straight line includes the axis X2, the axis Y2 and the axis Z2, the axis X2, the axis Y2 or the axis Y2, the axis Z2 correspond to two mutually perpendicular matrix main directions of the matrix code to be identified in the cartesian coordinate system CC.
And L5, finding equidistant intersection points which are arranged equidistantly and have the largest sum of intersection times on the straight line. These equidistant intersections represent a respective set of equidistant parallel lines of the object matrix code in the cartesian coordinate system CC in the two main directions as described in step L4. These parallel lines are the boundary lines of the target matrix code module.
L6, converting the equidistant intersection points into equidistant parallel lines in a cartesian coordinate system CC.
And L7, determining the boundary line of each module of the matrix code through the equidistant parallel lines, and determining the position of each module of the matrix code and the represented 0/1 binary value through the boundary line of each module of the matrix code, thereby restoring the matrix code to be identified.
L8, decoding the restored matrix code through a ZXing general decoding library, wherein the ZXing general decoding library is most suitable for being matched with the method.
The method of the application is particularly suitable for the Data Matrix code printed at the bottom of the test tube for biological plant sample tracking.
The above-described embodiments are merely illustrative of the preferred embodiments of the present invention and do not limit the spirit and scope of the present invention. Various modifications and improvements of the technical solutions of the present invention may be made by those skilled in the art without departing from the design concept of the present invention, and the technical contents of the present invention are all described in the claims.
Claims (10)
1. A novel matrix code restoration method based on a parallel coordinate system is characterized in that: comprises that
L1, using an edge feature extraction operator to obtain a feature point set P of a matrix code picture to be identified in a Cartesian coordinate system CC, wherein the Cartesian coordinate system CC comprises coordinate axes X1 and Y1;
l2, constructing a parallel coordinate system PC comprising coordinate axes X2, Y2 and Z2, and a coordinate axis U2 perpendicular to said coordinate axes X2, Y2, Z2; wherein the coordinate values of the coordinate axes X2, Y2 and Z2 corresponding to the coordinate axis U2 are-D, 0 and D; the coordinate value of the coordinate axis U2 corresponding to the coordinate axes X2, Y2 and Z2 is 0;
l3, converting all the feature points in the feature point set P to the parallel coordinate system PC to obtain a series of line segments, and recording the positions of the line segment intersection points and the intersection times of each intersection point;
l4, finding two straight lines or three straight lines which are perpendicular to the coordinate axis U2 and pass through the intersection points, wherein the sum of the intersection times of the two straight lines or the three straight lines is the largest;
l5, finding equidistant intersection points which are arranged equidistantly and have the largest sum of intersection times on the straight line;
l6, converting the equidistant intersection points into equidistant parallel lines in a Cartesian coordinate system CC;
and L7, determining the boundary line of each module of the matrix code through the equidistant parallel lines to restore the matrix code to be identified.
2. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 1, wherein: in L1, the edge feature extraction operator is a Canny edge feature extraction operator.
3. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 1, wherein: in L2, coordinates of points where coordinate axes X2, Y2, and Z2 intersect with coordinate axis U2 are (-D, 0, infinity), (0, infinity, 0, infinity), (D, infinity, 0), respectively.
4. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 1, wherein: in L3, when a feature point p in the cartesian coordinate system CC is (xp, yp), the feature point p corresponds to two line segments lv and lw in the parallel coordinate system PC, where lv is a line segment formed by connecting a point v (-D, xp, infinity), and a point v (0, infinity, yp, infinity), and lw is a line segment formed by connecting a point w (0, infinity, yp, infinity), and a point w (D, infinity, -xp).
5. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 1, wherein: in L4, if the straight lines found coincide with coordinate axes X2, Y2, and Z2, there are three straight lines; otherwise, two.
6. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 5, wherein: if the straight lines include the straight line V1 and the straight line V2, the straight line V1 and the straight line V2 correspond to two mutually perpendicular matrix main directions of the matrix code to be identified in the cartesian coordinate system CC.
7. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 5, wherein: if the straight line includes coordinate axes X2, Y2 and Z2, coordinate axes X2 and Y2 or coordinate axes Y2 and Z2 correspond to two mutually perpendicular matrix main directions of the matrix code to be identified in the cartesian coordinate system CC.
8. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 1, wherein: in L7, the position of each module of the matrix code and its represented 0/1 binary value are determined by the boundary line of each module of the matrix code.
9. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 1, wherein: l8 is also included, and the restored matrix code is decoded by the universal decoding library.
10. The novel matrix code recovery method based on the parallel coordinate system as claimed in claim 9, wherein: the universal decoding library comprises a ZXing universal decoding library.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910652520.3A CN110348265B (en) | 2019-07-19 | 2019-07-19 | Novel matrix code restoration method based on parallel coordinate system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910652520.3A CN110348265B (en) | 2019-07-19 | 2019-07-19 | Novel matrix code restoration method based on parallel coordinate system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110348265A CN110348265A (en) | 2019-10-18 |
CN110348265B true CN110348265B (en) | 2022-04-05 |
Family
ID=68179187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910652520.3A Active CN110348265B (en) | 2019-07-19 | 2019-07-19 | Novel matrix code restoration method based on parallel coordinate system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110348265B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07218222A (en) * | 1994-01-28 | 1995-08-18 | Matsushita Electric Ind Co Ltd | Image processor |
CN101017527A (en) * | 2006-04-18 | 2007-08-15 | 珠海炬力集成电路设计有限公司 | Identification method for data matrix code |
CN106845314A (en) * | 2016-12-28 | 2017-06-13 | 广州智慧城市发展研究院 | A kind of method for rapidly positioning of Quick Response Code |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6672511B1 (en) * | 1996-06-03 | 2004-01-06 | Symbol Technologies, Inc. | Omnidirectional reading of two-dimensional symbols |
-
2019
- 2019-07-19 CN CN201910652520.3A patent/CN110348265B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07218222A (en) * | 1994-01-28 | 1995-08-18 | Matsushita Electric Ind Co Ltd | Image processor |
CN101017527A (en) * | 2006-04-18 | 2007-08-15 | 珠海炬力集成电路设计有限公司 | Identification method for data matrix code |
CN106845314A (en) * | 2016-12-28 | 2017-06-13 | 广州智慧城市发展研究院 | A kind of method for rapidly positioning of Quick Response Code |
Non-Patent Citations (1)
Title |
---|
基于DM642的手机QR码检测与识别;陈存弟,刘金清,施文灶,邓淑敏,周晓童,吴庆祥;《计算机系统应用》;20180615;第202-208页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110348265A (en) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101612700B1 (en) | Method for decoding matrix-type two-dimensional code | |
US9934444B2 (en) | Image processing apparatus, image processing method and computer-readable storage medium | |
Sagitov et al. | Comparing fiducial marker systems in the presence of occlusion | |
RU2729399C1 (en) | Method for detection and recognition of visual markers of long range and high density | |
CN110598686A (en) | Invoice identification method, system, electronic equipment and medium | |
US20130240627A1 (en) | Method and Reader for Capturing a Plurality of Two-Dimensional Codes which are Presented in Succession on a Display Apparatus | |
CN107292212B (en) | Two-dimensional code positioning method under low signal-to-noise ratio environment | |
EP3996283B1 (en) | Coding pattern, coding and reading methods for same, calibration board, and calibration method | |
CN110765795A (en) | Two-dimensional code identification method and device and electronic equipment | |
CN107220689B (en) | Position coding pattern generation method, device, equipment and readable storage medium | |
Lin et al. | Automatic location for multi-symbology and multiple 1D and 2D barcodes | |
CN110348265B (en) | Novel matrix code restoration method based on parallel coordinate system | |
CN113657398B (en) | Image recognition method and device | |
US11734531B2 (en) | Methods and systems of harvesting data for training machine learning (ML) model | |
Chae et al. | ColorCodeAR: Large identifiable ColorCode-based augmented reality system | |
CN101840501B (en) | Method and device for decoding bar code image | |
CN113111675B (en) | Method and system for rapidly identifying bar code based on bar code scanner | |
CN115310469B (en) | Bar code positioning model training method, positioning method, system, equipment and medium | |
CN201927037U (en) | Decoding device of bar code image | |
Vo et al. | Barcode Image Restoration for Recognition of Product Information | |
CN116109697A (en) | Dot matrix coordinate information generation method | |
Liao et al. | Automatic Meter Reading Based on Bi-Fusion MSP Network and Carry-Out Rechecking | |
CN117974419A (en) | Distorted two-dimensional code acquisition method, device, equipment and storage medium | |
CN114648754A (en) | Character recognition method, device, equipment, medium and product based on image | |
CN117197671A (en) | Radar image recognition method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |