PHP 光学字符识别

维护者

详细信息

github.com/gdecorbiac/omr

源代码

2.0 2019-09-12 15:23 UTC

This package is auto-updated.

Last update: 2024-09-13 22:38:57 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version MIT license Build Status

这是一个用 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 扩展。

这样,您可以轻松安装依赖项并运行处理图像的命令 :)

  1. 克隆此存储库
$ git clone https://github.com/jansenfelipe/omr.git
$ cd omr/
  1. 安装依赖项
$ docker-compose run php composer install
  1. 处理示例图像
$ docker-compose run php bin/omr scan example/response.png example/map.json

许可

MIT 许可证 (MIT)