This commit is contained in:
codemasher
2021-11-29 19:08:00 +01:00
parent e57f24c5d0
commit eb33b62a51
3 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -160,7 +160,7 @@ final class Binarizer{
/**
*
*/
public function getHistogramBlackMatrix(int $width, int $height):BitMatrix{
private function getHistogramBlackMatrix(int $width, int $height):BitMatrix{
$matrix = new BitMatrix(max($width, $height));
// Quickly calculates the histogram by sampling four rows from the image. This proved to be
+1 -2
View File
@@ -37,8 +37,7 @@ final class Decoder{
* @throws \Throwable if the QR Code cannot be decoded
*/
public function decode(LuminanceSourceInterface $source):DecoderResult{
$matrix = (new Binarizer($source))->getBlackMatrix();
$bitMatrix = (new Detector($matrix))->detect();
$bitMatrix = (new Detector($source))->detect();
try{
// clone the BitMatrix to avoid errors in case we run into mirroring
+4 -3
View File
@@ -11,6 +11,7 @@
namespace chillerlan\QRCode\Detector;
use chillerlan\QRCode\Decoder\{Binarizer, LuminanceSourceInterface};
use RuntimeException;
use chillerlan\QRCode\Common\Version;
use chillerlan\QRCode\Decoder\BitMatrix;
@@ -30,8 +31,8 @@ final class Detector{
/**
* Detector constructor.
*/
public function __construct(BitMatrix $image){
$this->bitMatrix = $image;
public function __construct(LuminanceSourceInterface $source){
$this->bitMatrix = (new Binarizer($source))->getBlackMatrix();
}
/**
@@ -40,7 +41,7 @@ final class Detector{
public function detect():BitMatrix{
[$bottomLeft, $topLeft, $topRight] = (new FinderPatternFinder($this->bitMatrix))->find();
$moduleSize = (float)$this->calculateModuleSize($topLeft, $topRight, $bottomLeft);
$moduleSize = $this->calculateModuleSize($topLeft, $topRight, $bottomLeft);
$dimension = $this->computeDimension($topLeft, $topRight, $bottomLeft, $moduleSize);
$provisionalVersion = new Version((int)(($dimension - 17) / 4));
$alignmentPattern = null;