C++ port: add changes to HybridBinarizer
[zxing.git] / 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;
     }
   }