jansenfelipe / omr
PHP 的光学标记识别
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-06 04:32:04 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,该文件向 PHP 添加了 composer、imagemagick 和 imagick 扩展。
这样,您就可以安装依赖项并运行命令来处理图像,无需头疼 :)
- 克隆此仓库
$ 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)