PHP的光学标记识别

2.0 2019-09-12 15:23 UTC

This package is auto-updated.

Last update: 2024-09-26 20:48:18 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,它将composer、imagemagick和imagick扩展添加到PHP中。

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

  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)