public void process ( FastQueue < PositionPatternNode > pps , T gray ) { gridReader . setImage ( gray ) ; storageQR . reset ( ) ; successes . clear ( ) ; failures . clear ( ) ; for ( int i = 0 ; i < pps . size ; i ++ ) { PositionPatternNode ppn = pps . get ( i ) ; for ( int j = 3 , k = 0 ; k < 4 ; j = k , k ++ ) { if ( ppn . edges [ j ] != null && ppn . edges [ k ] != null ) { QrCode qr = storageQR . grow ( ) ; qr . reset ( ) ; setPositionPatterns ( ppn , j , k , qr ) ; computeBoundingBox ( qr ) ; // Decode the entire marker now if ( decode ( gray , qr ) ) { successes . add ( qr ) ; } else { failures . add ( qr ) ; } } } } }
Detects QR Codes inside image using position pattern graph