免费 PHP OMR API 在线解析扫描表单和图像
开源光学标记识别 PHP 库,旨在 PHP 应用中解析扫描表单并从预定义区域检测标记答案。
FormRead 是什么?
在当今数字化世界,自动化从表单中提取数据对企业、教育机构和研究组织至关重要。 在数据收集领域,光学标记识别(OMR)仍然是扫描和解释表单、调查、测试和选票上标记数据的可靠方法。 FormRead 是一个开源的 PHP OMR(光学标记识别)API,提供了高效读取和处理标记表单的强大解决方案。 它是基于 PHP 的 OMR API,旨在检测并解释扫描表单、调查或答题卡上的标记区域。 对于自动化纸质表单的数据收集、减少人工录入错误以及提升效率尤为有用。
FormRead 是一个用 PHP 编写的开源光学标记识别(OMR)库。它支持 OMR 表单中常见的多种字段类型,如复选框、文本、选择和分组。该库专为解析扫描表单并从预定义区域检测标记答案而设计——非常适用于选择题考试、反馈表、投票票箱或任何基于表单的数据收集场景。库允许开发者在表单图像上定义区域(或“网格”),然后检测用户标记(填充)的区域。库包含多项重要功能,如灵活的表单定义、加载和处理图像、阈值灵敏度处理、支持多种图像格式、可自定义模板、条形码和二维码支持等。FormRead 是一个多功能的 PHP OMR API,简化了自动化表单处理。无论是批改考试、处理调查还是数字化记录,它都提供灵活高效的解决方案。
FormRead 入门指南
推荐的安装 PHP FormRead 库的方式是使用 Composer。请使用以下命令以顺利完成安装。
通过 Composer 安装 OFormReadMR
composer require mojv/formread
通过 GitHub 安装 FormRead
git clone https://github.com/mojv/FormRead.git
cd FormRead 使用 PHP 处理扫描的表单
开源的 FormRead 库让软件开发者能够轻松在 PHP 应用程序中加载和处理扫描的表单和图像。首先,你会拥有一张已完成表单的扫描图像,我们称之为 filled_form.jpg。下面的 PHP 脚本使用 FormRead 通过调用 processImage() 方法并传入扫描表单的路径来处理此图像。处理结果随后被编码为格式良好的 JSON 并输出。
如何在 PHP 应用中处理扫描表单?
require 'vendor/autoload.php';
use FormRead\FormRead;
// Path to the form definition and the scanned image
$formJsonPath = 'path/to/your/form.json';
$imagePath = 'path/to/your/filled_form.jpg';
try {
// Create a new FormRead instance
$formRead = new FormRead($formJsonPath);
// Process the image
$results = $formRead->processImage($imagePath);
// Output the results as JSON
header('Content-Type: application/json');
echo json_encode($results, JSON_PRETTY_PRINT);
} catch (Exception $e) {
// Handle any errors
echo 'Error: ' . $e->getMessage();
}
自定义字段坐标映射
FormRead 库在 PHP 应用程序中提供了对自定义表单字段坐标映射的完整支持。软件开发者可以使用像素坐标 (x, y)、宽度和高度来定义每个复选框或气泡的精确位置。这一点至关重要,因为每种表单布局都不同。下面的示例展示了如何通过 PHP API 定义具有精确位置的自定义表单。
如何通过 PHP API 精确定义自定义表单字段及其位置?
$fields = [
['x' => 100, 'y' => 200, 'width' => 20, 'height' => 20], // Question 1 - Option A
['x' => 130, 'y' => 200, 'width' => 20, 'height' => 20], // Question 1 - Option B
['x' => 160, 'y' => 200, 'width' => 20, 'height' => 20], // Question 1 - Option C
// Add more fields as needed...
];
通过 PHP API 批量处理表单?
得益于其简洁的设计和高效的图像处理技术,开源的 FormRead 库能够轻松批量处理表单。正是由于这种强大的表单处理能力,使其适用于考试评分系统或大规模调查导入。以下示例演示了软件开发人员如何使用 PHP 命令进行批量表单处理。
如何使用 PHP 库进行批量表单处理?
$scans = ['form1.jpg', 'form2.jpg', 'form3.jpg'];
foreach ($scans as $form) {
$results = FormRead::read($form, $fields);
// Save to DB or evaluate result
echo "Form $form: " . implode(',', $results) . "\n";
}