diff --git a/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java b/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java index 17ca88b8f..951bd197f 100755 --- a/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java +++ b/core/src/main/java/com/google/zxing/qrcode/detector/FinderPatternFinder.java @@ -695,6 +695,8 @@ public class FinderPatternFinder { // we need to check both two equal sides separately. // The value of |c^2 - 2 * b^2| + |c^2 - 2 * a^2| increases as dissimilarity // from isosceles right triangle. + // Heuristically it seems that the following formula works better (although it's + // not clear any more why...) double d = Math.abs(c - 2 * b) + Math.abs(c - 2 * a); if (d < distortion) { distortion = d;