diff mupdf-source/thirdparty/zxing-cpp/core/src/GlobalHistogramBinarizer.h @ 3:2c135c81b16c

MERGE: upstream PyMuPDF 1.26.4 with MuPDF 1.26.7
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:44:09 +0200
parents b50eed0cc0ef
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mupdf-source/thirdparty/zxing-cpp/core/src/GlobalHistogramBinarizer.h	Mon Sep 15 11:44:09 2025 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright 2016 Nu-book Inc.
+* Copyright 2016 ZXing authors
+*/
+// SPDX-License-Identifier: Apache-2.0
+
+#pragma once
+
+#include "BinaryBitmap.h"
+
+namespace ZXing {
+
+/**
+* This Binarizer implementation uses the old ZXing global histogram approach. It is suitable
+* for low-end mobile devices which don't have enough CPU or memory to use a local thresholding
+* algorithm. However, because it picks a global black point, it cannot handle difficult shadows
+* and gradients.
+*
+* Faster mobile devices and all desktop applications should probably use HybridBinarizer instead.
+*
+* @author dswitkin@google.com (Daniel Switkin)
+* @author Sean Owen
+*/
+class GlobalHistogramBinarizer : public BinaryBitmap
+{
+public:
+	explicit GlobalHistogramBinarizer(const ImageView& buffer);
+	~GlobalHistogramBinarizer() override;
+
+	bool getPatternRow(int row, int rotation, PatternRow &res) const override;
+	std::shared_ptr<const BitMatrix> getBlackMatrix() const override;
+};
+
+} // ZXing