Hi all,
so I added a new update to my PDF417 commits. The changes are in:
- common/Delta2Binarizer: method "ResetMatrix" added (sets "matrix_" to null)
- pdf417/Detector/Detector: Most changes are in detect(DecodeHints const &hints). In case of "try harder", it uses a Delta2Binarizer-created bit matrix to find guard patterns. Because the Delta2Binarizer "lines matrix" is built of only every 16th line of the image, inside of "findVertices" every line of the matrix is scanned (in case of not "try harder", the original HybridBinarizer is used, and in this case every 8th line is scanned.) In any case, the original HybridBinarizer-created bit matrix is used for finding top and bottom points of the wide guard pattern bars (see "correctVertices"). The "RepositionVertices" method only recalculates the points from the Delta2Binarizer to the HybridBinarizer co-ordinates; these are only scalar operations. As in earlier version, the final vertices are calculated as the intersection points of (a)the lines which connect the inner guard pattern points and (b)the lines which connect the top resp. bottom wide guard pattern bar limits.
This might sound a little bit complicated, but these changes are effective. PDF417 codes can be recognized also under poor conditions.
-pdf417/Decoder/DecodedBitStreamPD: I have adopted the modifications recommended in the discussion of the Issue 1133 (
http://code.google.com/p/zxing/issues/detail?id=1133). Is this right?
Regards, hfneubauer
Am Donnerstag, 29. November 2012 23:42:27 UTC+1 schrieb Brett Nieland:
Hfneubauer,
I am sorry that I have very little to comment about your ideas. I am afraid I am very new to coding pattern recognition. My hope is that I will learn much if/when I get around to doing the back port.
Regards,
Brett