Issue 494 round luminance values rather than truncate
authorsmparkes@smparkes.net <smparkes@smparkes.net@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Wed, 25 Aug 2010 15:54:19 +0000 (15:54 +0000)
committersmparkes@smparkes.net <smparkes@smparkes.net@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Wed, 25 Aug 2010 15:54:19 +0000 (15:54 +0000)
git-svn-id: http://zxing.googlecode.com/svn/trunk@1558 59b500cc-1b3d-0410-9834-0bbf25fbcc57

core/test/src/com/google/zxing/qrcode/QRCodeBlackBox4TestCase.java
javase/src/com/google/zxing/client/j2se/BufferedImageLuminanceSource.java

index 3ef4ae6..7a5c31e 100644 (file)
@@ -29,10 +29,10 @@ public final class QRCodeBlackBox4TestCase extends AbstractBlackBoxTestCase {
 
   public QRCodeBlackBox4TestCase() {
     super("test/data/blackbox/qrcode-4", new MultiFormatReader(), BarcodeFormat.QR_CODE);
-    addTest(35, 35, 0.0f);
+    addTest(36, 36, 0.0f);
     addTest(36, 36, 90.0f);
-    addTest(34, 34, 180.0f);
-    addTest(34, 34, 270.0f);
+    addTest(35, 35, 180.0f);
+    addTest(35, 35, 270.0f);
   }
 
 }
index 2d613cc..28b0129 100644 (file)
@@ -95,7 +95,8 @@ public final class BufferedImageLuminanceSource extends LuminanceSource {
         int pixel = rgb[offset + x];
         int luminance = (306 * ((pixel >> 16) & 0xFF) +
             601 * ((pixel >> 8) & 0xFF) +
-            117 * (pixel & 0xFF)) >> 10;
+            117 * (pixel & 0xFF) +
+            (0x200)) >> 10; // 0x200 = 1<<9, half an lsb of the result to force rounding
         matrix[offset + x] = (byte) luminance;
       }
     }