This is an open source library written in PHP for recognition markings on questionnaires scans
See: https://en.wikipedia.org/wiki/Optical_mark_recognition
Add library:
$ composer require jansenfelipe/omr
Instantiate the Scanner class responsible for reading the image and enter its path
/*
* Setup scanner
*/
$scanner = new ImagickScanner();
$scanner->setImagePath($imagePath);
You will need to scan a blank form and create the Target Mapping File to be able to use the library.
After creating the map.json
file, enter its path:
/*
* Setup map
*/
$map = MapJson::create($mapJsonPath);
Now you can scan and get the result
$result = $scanner->scan($map);
This library currently has only one scanner class using Imagemagick 6
. It has been tested using the following configurations:
- PHP 7.0
- Extension imagick-3.4.2
- imagemagick6
See https://github.com/jansenfelipe/omr/blob/master/src/Scanners/ImagickScanner.php
It is a .json file that describes, in addition to the image information, the coordinates of the places (targets) that the script must do the pixel analysis. This file follows the following pattern:
{
"width": 600,
"height": 800,
"targets": [
{
"x1": 50,
"y1": 43,
"x2": 65,
"y2": 57,
"id": "Foo",
"type": "rectangle",
"tolerance": 60
}
]
}
In the examples
directory there is a map.json
file that determines the targets to be read in the response.png
image.
The MIT License (MIT)