Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/thirdparty/zxing-cpp/core/src/HybridBinarizer.h @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/thirdparty/zxing-cpp/core/src/HybridBinarizer.h Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,40 @@ +/* +* Copyright 2016 Nu-book Inc. +* Copyright 2016 ZXing authors +*/ +// SPDX-License-Identifier: Apache-2.0 + +#pragma once + +#include "GlobalHistogramBinarizer.h" + +namespace ZXing { + +/** +* This class implements a local thresholding algorithm, which while slower than the +* GlobalHistogramBinarizer, is fairly efficient for what it does. It is designed for +* high frequency images of barcodes with black data on white backgrounds. For this application, +* it does a much better job than a global blackpoint with severe shadows and gradients. +* However it tends to produce artifacts on lower frequency images and is therefore not +* a good general purpose binarizer for uses outside ZXing. +* +* This class extends GlobalHistogramBinarizer, using the older histogram approach for 1D readers, +* and the newer local approach for 2D readers. 1D decoding using a per-row histogram is already +* inherently local, and only fails for horizontal gradients. We can revisit that problem later, +* but for now it was not a win to use local blocks for 1D. +* +* This Binarizer is the default for the unit tests and the recommended class for library users. +* +* @author dswitkin@google.com (Daniel Switkin) +*/ +class HybridBinarizer : public GlobalHistogramBinarizer +{ +public: + explicit HybridBinarizer(const ImageView& iv); + ~HybridBinarizer() override; + + bool getPatternRow(int row, int rotation, PatternRow &res) const override; + std::shared_ptr<const BitMatrix> getBlackMatrix() const override; +}; + +} // ZXing
