C++ port: add changes to HybridBinarizer
authorflyashi <flyashi@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Wed, 4 Aug 2010 14:09:09 +0000 (14:09 +0000)
committerflyashi <flyashi@59b500cc-1b3d-0410-9834-0bbf25fbcc57>
Wed, 4 Aug 2010 14:09:09 +0000 (14:09 +0000)
This closes Issue 490.

git-svn-id: http://zxing.googlecode.com/svn/trunk@1507 59b500cc-1b3d-0410-9834-0bbf25fbcc57

cpp/core/src/zxing/common/HybridBinarizer.cpp

index 65d03ee..7fdb664 100644 (file)
@@ -129,7 +129,12 @@ int* HybridBinarizer::calculateBlackPoints(unsigned char* luminances, int subWid
       // If the contrast is inadequate, use half the minimum, so that this block will be
       // treated as part of the white background, but won't drag down neighboring blocks
       // too much.
-      int average = (max - min > 24) ? (sum >> 6) : (min >> 1);
+      int average;
+      if (max - min > 24) {
+          average = (sum >> 6);
+      } else {
+        average = max == 0 ? 1 : (min >> 1);
+      }
       blackPoints[y * subWidth + x] = average;
     }
   }