From bf8e84a8613b2c739803c7db5309ab7a61b7c4dc Mon Sep 17 00:00:00 2001 From: Geoffroy de Corbiac Date: Thu, 3 Oct 2019 20:22:55 +0200 Subject: [PATCH 1/5] WIP - Added ZBarTarget --- composer.json | 5 ++- src/Contracts/Scanner.php | 59 +++++++++++++++++---------- src/Targets/ZBarTarget.php | 82 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 122 insertions(+), 24 deletions(-) create mode 100644 src/Targets/ZBarTarget.php diff --git a/composer.json b/composer.json index 5c65379..a97bef2 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "jansenfelipe/omr", + "name": "gdecorbiac/omr", "description": "Optical Mark Recognition from PHP", "type": "library", "license": "MIT", @@ -15,7 +15,8 @@ "survey" ], "require": { - "symfony/console": "2.7.*" + "symfony/console": "2.7.*", + "robbiep/zbar-qrdecoder": "dev-master" }, "bin": ["bin/omr"], "require-dev": { diff --git a/src/Contracts/Scanner.php b/src/Contracts/Scanner.php index a0ff89a..7af706e 100644 --- a/src/Contracts/Scanner.php +++ b/src/Contracts/Scanner.php @@ -9,6 +9,7 @@ use JansenFelipe\OMR\Targets\CircleTarget; use JansenFelipe\OMR\Targets\RectangleTarget; use JansenFelipe\OMR\Targets\TextTarget; +use JansenFelipe\OMR\Targets\ZBarTarget; abstract class Scanner { @@ -47,6 +48,15 @@ protected abstract function topRight(Point $near); */ protected abstract function bottomLeft(Point $near); + /** + * Returns barcode analysis in a rectangular area + * + * @param Point $a + * @param Point $b + * @return Area + */ + protected abstract function barcodeArea(Point $a, Point $b); + /** * Returns pixel analysis in a rectangular area * @@ -191,28 +201,7 @@ public function scan(Map $map) foreach($map->targets() as $target) { - if ($target instanceof TextTarget) - { - $target->setImageBlob($this->textArea($target->getA()->moveX($ajustX)->moveY($ajustY), $target->getB()->moveX($ajustX)->moveY($ajustY))); - - }else { - - if ($target instanceof RectangleTarget) - { - $area = $this->rectangleArea($target->getA()->moveX($ajustX)->moveY($ajustY), $target->getB()->moveX($ajustX)->moveY($ajustY), $target->getTolerance()); - } - - if ($target instanceof CircleTarget) - { - $area = $this->circleArea($target->getPoint()->moveX($ajustX)->moveY($ajustY), $target->getRadius(), $target->getTolerance()); - } - - $target->setBlackPixelsPercent($area->percentBlack()); - - $target->setMarked($area->percentBlack() >= $target->getTolerance()); - } - - $result->addTarget($target); + $result->addTarget($this->analyzeTarget($target, $ajustX, $ajustY)); } @@ -280,4 +269,30 @@ protected function createResult($imagePath){ return $result; } + private function analyzeTarget(Target $target, $ajustX, $ajustY) + { + if ($target instanceof TextTarget) { + $target->setImageBlob($this->textArea($target->getA()->moveX($ajustX)->moveY($ajustY), $target->getB()->moveX($ajustX)->moveY($ajustY))); + return $target; + } + + if ($target instanceof ZBarTarget) { + $target->setImageBlob($this->textArea($target->getA()->moveX($ajustX)->moveY($ajustY), $target->getB()->moveX($ajustX)->moveY($ajustY))); + $target->decode(); + return $target; + } + + if ($target instanceof RectangleTarget) { + $area = $this->rectangleArea($target->getA()->moveX($ajustX)->moveY($ajustY), $target->getB()->moveX($ajustX)->moveY($ajustY), $target->getTolerance()); + } + + if ($target instanceof CircleTarget) { + $area = $this->circleArea($target->getPoint()->moveX($ajustX)->moveY($ajustY), $target->getRadius(), $target->getTolerance()); + } + + $target->setBlackPixelsPercent($area->percentBlack()); + $target->setMarked($area->percentBlack() >= $target->getTolerance()); + + return $target; + } } diff --git a/src/Targets/ZBarTarget.php b/src/Targets/ZBarTarget.php new file mode 100644 index 0000000..71b68b0 --- /dev/null +++ b/src/Targets/ZBarTarget.php @@ -0,0 +1,82 @@ +format = $format; + } + + /** + * Get the barcode format + * + * @return string + */ + public function getFormat() + { + return $this->format; + } + + /** + * @param string $result + */ + public function setResult($result) + { + $this->result = $result; + } + + /** + * Get the decoded barcode result + * + * @return string + */ + public function getResult() + { + return $this->result; + } + + /** + * Decode the barcode image + * + * @return string + */ + public function decode() + { + // TODO + } +} \ No newline at end of file From 5e578803575cd4c4f7699f1b4d4bd3ecfc1173aa Mon Sep 17 00:00:00 2001 From: Geoffroy de Corbiac Date: Sat, 5 Oct 2019 15:31:32 +0200 Subject: [PATCH 2/5] Implementation of barcode/qrcode scanning and decoding --- src/Contracts/Scanner.php | 17 +++++++-- src/Maps/MapJson.php | 6 +++ src/Scanners/ImagickScanner.php | 20 ++++++++++ src/Targets/ZBarTarget.php | 65 +++++++++++++++++++++++++-------- 4 files changed, 90 insertions(+), 18 deletions(-) diff --git a/src/Contracts/Scanner.php b/src/Contracts/Scanner.php index 7af706e..76901ce 100644 --- a/src/Contracts/Scanner.php +++ b/src/Contracts/Scanner.php @@ -10,6 +10,7 @@ use JansenFelipe\OMR\Targets\RectangleTarget; use JansenFelipe\OMR\Targets\TextTarget; use JansenFelipe\OMR\Targets\ZBarTarget; +use RobbieP\ZbarQrdecoder\Result\ErrorResult; abstract class Scanner { @@ -53,7 +54,7 @@ protected abstract function bottomLeft(Point $near); * * @param Point $a * @param Point $b - * @return Area + * @return mixed */ protected abstract function barcodeArea(Point $a, Point $b); @@ -277,8 +278,18 @@ private function analyzeTarget(Target $target, $ajustX, $ajustY) } if ($target instanceof ZBarTarget) { - $target->setImageBlob($this->textArea($target->getA()->moveX($ajustX)->moveY($ajustY), $target->getB()->moveX($ajustX)->moveY($ajustY))); - $target->decode(); + try { + $result = $this->barcodeArea($target->getA()->moveX($ajustX)->moveY($ajustY), $target->getB()->moveX($ajustX)->moveY($ajustY)); + if ($result instanceof ErrorResult) { + $target->setResult($result->text); + } else { + $target->setResult($result->code); + $target->setFormat($result->format); + $target->setMarked(true); + } + } catch (\Throwable $th) { + $target->setResult($th->getMessage()); + } return $target; } diff --git a/src/Maps/MapJson.php b/src/Maps/MapJson.php index 21b7b89..6644872 100644 --- a/src/Maps/MapJson.php +++ b/src/Maps/MapJson.php @@ -8,6 +8,7 @@ use JansenFelipe\OMR\Targets\CircleTarget; use JansenFelipe\OMR\Targets\RectangleTarget; use JansenFelipe\OMR\Targets\TextTarget; +use JansenFelipe\OMR\Targets\ZBarTarget; class MapJson implements Map { @@ -96,6 +97,11 @@ public function targets() $t = new TextTarget($target['id'], new Point($target['x1'], $target['y1']), new Point($target['x2'], $target['y2'])); } + if($target['type'] == 'barcode') + { + $t = new ZBarTarget($target['id'], new Point($target['x1'], $target['y1']), new Point($target['x2'], $target['y2'])); + } + if($target['type'] == 'rectangle') { $t = new RectangleTarget($target['id'], new Point($target['x1'], $target['y1']), new Point($target['x2'], $target['y2'])); diff --git a/src/Scanners/ImagickScanner.php b/src/Scanners/ImagickScanner.php index d15dd04..2817a1f 100644 --- a/src/Scanners/ImagickScanner.php +++ b/src/Scanners/ImagickScanner.php @@ -7,6 +7,7 @@ use JansenFelipe\OMR\Area; use JansenFelipe\OMR\Contracts\Scanner; use JansenFelipe\OMR\Point; +use RobbieP\ZbarQrdecoder\ZbarDecoder; class ImagickScanner extends Scanner { @@ -269,6 +270,25 @@ protected function textArea(Point $a, Point $b) return $region->getImageBlob(); } + /** + * Returns barcode analysis of a rectangular area + * + * @param Point $a + * @param Point $b + * @return mixed + */ + protected function barcodeArea(Point $a, Point $b) + { + $imageBlob = $this->textArea($a, $b); + $image = new \Imagick(); + $image->readImageBlob($imageBlob); + $tmpImagePath = tempnam(sys_get_temp_dir(), 'CODE'); + $image->writeImage($tmpImagePath); + + $ZbarDecoder = new ZbarDecoder(); + return $ZbarDecoder->make($tmpImagePath); + } + /** * Finish processes * diff --git a/src/Targets/ZBarTarget.php b/src/Targets/ZBarTarget.php index 71b68b0..8012747 100644 --- a/src/Targets/ZBarTarget.php +++ b/src/Targets/ZBarTarget.php @@ -2,9 +2,10 @@ namespace JansenFelipe\OMR\Targets; +use JansenFelipe\OMR\Contracts\Target; use JansenFelipe\OMR\Point; -class ZBarTarget extends TextTarget +class ZBarTarget extends Target { public const TYPE_QR_CODE = 1; @@ -14,6 +15,20 @@ class ZBarTarget extends TextTarget public const TYPE_CODE_128 = 4; + /** + * Pointer Top/Left + * + * @var Point + */ + private $a; + + /** + * Pointer Bottom/Right + * + * @var Point + */ + private $b; + /** * The barcode format * @@ -34,12 +49,32 @@ class ZBarTarget extends TextTarget * @param $id * @param Point $a * @param Point $b - * @param string $format */ - public function __construct($id, Point $a, Point $b, string $format) + public function __construct($id, Point $a, Point $b) { - parent::__construct($id, $a, $b); - $this->format = $format; + $this->id = $id; + $this->a = $a; + $this->b = $b; + } + + /** + * Get Pointer Top/Left + * + * @return Point + */ + public function getA() + { + return $this->a; + } + + /** + * Get Pointer Bottom/Right + * + * @return Point + */ + public function getB() + { + return $this->b; } /** @@ -52,6 +87,16 @@ public function getFormat() return $this->format; } + /** + * Set the barcode format + * + * @return string + */ + public function setFormat($format) + { + $this->format = $format; + } + /** * @param string $result */ @@ -69,14 +114,4 @@ public function getResult() { return $this->result; } - - /** - * Decode the barcode image - * - * @return string - */ - public function decode() - { - // TODO - } } \ No newline at end of file From 78c5d29f8ebca6703c7ce53207655f8fa2a39ebd Mon Sep 17 00:00:00 2001 From: Geoffroy de Corbiac Date: Sat, 5 Oct 2019 16:51:50 +0200 Subject: [PATCH 3/5] Fixed bug with barcode scan result and improved ScanCommand result display --- src/Commands/ScanCommand.php | 3 +-- src/Contracts/Scanner.php | 2 +- src/Result.php | 4 +++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Commands/ScanCommand.php b/src/Commands/ScanCommand.php index 3364f1c..0d09150 100644 --- a/src/Commands/ScanCommand.php +++ b/src/Commands/ScanCommand.php @@ -61,8 +61,7 @@ protected function execute(InputInterface $input, OutputInterface $output) $result = $scanner->scan($map); $io = new SymfonyStyle($input, $output); - - $io->table(['id', 'marked'], $result->toArray()['targets']); + $io->table(['id', 'marked', 'result'], $result->toArray()['targets']); } diff --git a/src/Contracts/Scanner.php b/src/Contracts/Scanner.php index 76901ce..db46f1b 100644 --- a/src/Contracts/Scanner.php +++ b/src/Contracts/Scanner.php @@ -283,7 +283,7 @@ private function analyzeTarget(Target $target, $ajustX, $ajustY) if ($result instanceof ErrorResult) { $target->setResult($result->text); } else { - $target->setResult($result->code); + $target->setResult($result->text); $target->setFormat($result->format); $target->setMarked(true); } diff --git a/src/Result.php b/src/Result.php index b65620a..3f67f11 100644 --- a/src/Result.php +++ b/src/Result.php @@ -4,6 +4,7 @@ use JansenFelipe\OMR\Contracts\Target; use JansenFelipe\OMR\Targets\TextTarget; +use JansenFelipe\OMR\Targets\ZBarTarget; class Result { @@ -110,7 +111,8 @@ public function toArray() 'targets' => array_map(function(Target $item){ return [ 'id' => $item->getId(), - 'marked' => $item->isMarked() ? 'yes' : 'no' + 'marked' => $item->isMarked() ? 'yes' : 'no', + 'result' => $item instanceof ZBarTarget ? $item->getResult() : ' - ' ]; }, $filtered) ]; From 7f62eaf8cbc5a1a2c46e90c0f536a029dda124c4 Mon Sep 17 00:00:00 2001 From: Geoffroy de Corbiac Date: Sat, 5 Oct 2019 17:21:40 +0200 Subject: [PATCH 4/5] Added example with barcodes and qrcode --- example/example_2.jpg | Bin 0 -> 134380 bytes example/example_2.json | 110 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 example/example_2.jpg create mode 100644 example/example_2.json diff --git a/example/example_2.jpg b/example/example_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19836341e5f481d37ed2d7ffcc5bd11ca3743e9c GIT binary patch literal 134380 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

kGXNFtbFX>lgR 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%0D?tQ*U2n{Jx7u(PGDqO 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 I&>v&}2k>|nJ^%m! literal 0 HcmV?d00001 diff --git a/example/example_2.json b/example/example_2.json new file mode 100644 index 0000000..caa687b --- /dev/null +++ b/example/example_2.json @@ -0,0 +1,110 @@ +{ + "dpi": 150, + "width": 1275, + "height": 1753, + "limits": { + "topRight": { + "x": 1152, + "y": 70 + }, + "bottomLeft": { + "x": 70, + "y": 1671 + } + }, + "targets": [ + { + "x1": 642, + "y1": 118, + "x2": 665, + "y2": 141, + "id": "Rectangle : 1", + "type": "rectangle", + "tolerance": 60 + }, + { + "x1": 712, + "y1": 118, + "x2": 736, + "y2": 141, + "id": "Rectangle : 2", + "type": "rectangle", + "tolerance": 60 + }, + { + "x1": 788, + "y1": 118, + "x2": 811, + "y2": 141, + "id": "Rectangle : 3", + "type": "rectangle", + "tolerance": 60 + }, + { + "x1": 866, + "y1": 118, + "x2": 889, + "y2": 141, + "id": "Rectangle : 4", + "type": "rectangle", + "tolerance": 60 + }, + { + "x1": 944, + "y1": 118, + "x2": 968, + "y2": 141, + "id": "Rectangle : 5", + "type": "rectangle", + "tolerance": 60 + }, + { + "x1": 619, + "y1": 277, + "x2": 968, + "y2": 433, + "id": "Text area :", + "type": "text" + }, + { + "x1": 619, + "y1": 500, + "x2": 968, + "y2": 600, + "id": "Fake barcode zone", + "type": "barcode" + }, + { + "x1": 138, + "y1": 615, + "x2": 650, + "y2": 740, + "id": "Code 39", + "type": "barcode" + }, + { + "x1": 138, + "y1": 857, + "x2": 644, + "y2": 980, + "id": "Code 128", + "type": "barcode" + }, + { + "x1": 163, + "y1": 1140, + "x2": 484, + "y2": 1279, + "id": "EAN 13", + "type": "barcode" + }, + { + "x1": 147, + "y1": 1424, + "x2": 325, + "y2": 1584, + "id": "QRCode", + "type": "barcode" + } + ] + } \ No newline at end of file From 7d3891c9f929aa0ade79d37ecae7c3e01938f9fe Mon Sep 17 00:00:00 2001 From: Geoffroy de Corbiac Date: Sat, 5 Oct 2019 17:23:59 +0200 Subject: [PATCH 5/5] Updated composer.json --- composer.json | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/composer.json b/composer.json index a97bef2..b13c3a0 100644 --- a/composer.json +++ b/composer.json @@ -1,18 +1,25 @@ { - "name": "gdecorbiac/omr", - "description": "Optical Mark Recognition from PHP", + "name": "jansenfelipe/omr", + "description": "Optical Mark Recognition from PHP with support of barcodes and qrcodes", "type": "library", "license": "MIT", "authors": [ { "name": "Jansen Felipe", "email": "jansen.felipe@gmail.com" + }, + { + "name": "Geoffroy de Corbiac", + "email": "geoffroydecorbiac@gmail.com" } ], "keywords": [ "omr", "optical mark recognition", - "survey" + "survey", + "barcode", + "zbar", + "qrcode" ], "require": { "symfony/console": "2.7.*",