smartdog23 / omr
2.0
2019-09-12 15:23 UTC
Requires
- symfony/console: 2.7.*
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2024-09-26 20:48:18 UTC
README
这是一个用PHP编写的开源库,用于识别问卷扫描的标记
参见: https://en.wikipedia.org/wiki/Optical_mark_recognition
如何使用
添加库
$ composer require jansenfelipe/omr
实例化负责读取图像并输入其路径的Scanner类
/* * Setup scanner */ $scanner = new ImagickScanner(); $scanner->setImagePath($imagePath);
您需要扫描一个空白表格并创建一个目标映射文件,以便能够使用该库。
创建map.json
文件后,输入其路径
/* * Setup map */ $map = MapJson::create($mapJsonPath);
现在您可以扫描并获得结果
$result = $scanner->scan($map);
扫描器
该库目前只有一个扫描器类使用Imagemagick 6
。它已在以下配置下进行了测试
- PHP 7.3
- imagemagick6
- 扩展 imagick-3.4.4
见 https://github.com/jansenfelipe/omr/blob/master/src/Scanners/ImagickScanner.php
目标映射文件
这是一个.json文件,它除了包含图像信息外,还描述了脚本必须进行像素分析的坐标(目标)。该文件遵循以下模式
{ "width": 600, "height": 800, "targets": [ { "x1": 50, "y1": 43, "x2": 65, "y2": 57, "id": "Foo", "type": "rectangle", "tolerance": 60 } ] }
示例
在example
目录中有一个完成的问卷图像response.png
。还有一个map.json
文件,它给出了将被分析的图像区域的坐标。
为了帮助设置环境,项目中有基于官方PHP 7.3镜像的Dockerfile,它将composer、imagemagick和imagick扩展添加到PHP中。
这样,您可以轻松安装依赖项并运行命令来处理图像:)
- 克隆此存储库
$ git clone https://github.com/jansenfelipe/omr.git
$ cd omr/
- 安装依赖项
$ docker-compose run php composer install
- 处理示例图像
$ docker-compose run php bin/omr scan example/response.png example/map.json
许可协议
MIT许可协议(MIT)