US 11,734,535 B2
Method of correcting a geometrically distorted QR code
Keijo Möttönen, Tampere (FI)
Assigned to Kuvio Automation Oy, Jyvaskyla (FI)
Appl. No. 17/618,275
Filed by Kuvio Automation Oy, Jyväskylä (FI)
PCT Filed Jun. 2, 2020, PCT No. PCT/FI2020/050378
§ 371(c)(1), (2) Date Dec. 10, 2021,
PCT Pub. No. WO2020/249856, PCT Pub. Date Dec. 17, 2020.
Claims priority of application No. 20195512 (FI), filed on Jun. 14, 2019.
Prior Publication US 2022/0309266 A1, Sep. 29, 2022
Int. Cl. G06K 7/14 (2006.01); G06K 19/06 (2006.01); G06T 5/00 (2006.01)
CPC G06K 7/1473 (2013.01) [G06K 7/1417 (2013.01); G06K 19/06037 (2013.01); G06T 5/006 (2013.01)] 12 Claims
OG exemplary drawing
 
1. A method for correcting and interpreting an image of a geometrically distorted QR code comprising a modular structure by computer means, wherein the method comprises:
providing a geometrically distorted QR code and position coordinates of three outer corners of the QR code as an input,
oversampling modules of the QR code by dividing each module to on average F*F sample elements for forming an oversampling matrix, and wherein F is an integer greater than 1,
determining intensity for each sample element in the oversampling matrix the sample elements of the oversampled matrix having oversampled coordinates, wherein the method further comprises:
calculating an average intensity of the oversampling matrix,
subtracting the average intensity from intensity of each sample element in the oversampling matrix,
filtering intensity values for determining an average value for each sample element,
determining a position of a sample element corresponding to a center of each module and determining color of each module based on intensities of sample elements corresponding to the center of each module by using iteration as follows,
forming a queue Q comprising data structures of the modules, wherein data structures comprise information on the position of the center of the module, the color of the module and position of a module in the QR code,
creating a first list position (x,y) of the module (x,y) and 8 neighbour modules for a data structure of module (x,y) being a first data structure in the queue Q for which center position and color are unknown,
calculating a sample element corresponding an estimated oversampled coordinate (Ex,Ey) of center of the module (x,y) based on neighbour modules whose centers are known,
defining a predetermined number of offset sample element candidates OC, wherein said offset sample element candidates OC are (dx,dy), where dx and dy belong to set {−1, 0, +1},
providing a set of color combination hypotheses for modules, whose center in unknown, and
performing the following steps for each offset sample element candidates and for each color combination hypotheses:
providing a second list comprising intensities of said offset sample element candidates OC by reading intensity of each of the said offset sample element candidates from the oversampling matrix around E and corresponding locations of neighbour modules, wherein E is the estimated oversampled coordinate (Ex,Ey) of center of the module (x,y),
providing a third list of 9 color hypotheses (CH) corresponding to the intensities of sample elements in the second list, correlating the second and third lists and storing the correlation result for determining a sample element corresponding to the offset sample element candidate with highest correlation value for the center of the module (x,y), and
determining the color of the module (x,y) by picking an intensity value of the offset sample element candidate with highest correlation value from the oversampling matrix.