c# - 使用 c#/php/anylanguage 检测纸上的签名点

标签 c# php image ocr

一名工作人员有一张带有选项(例如复选框)的打印纸(根据模板标准化)。他检查东西,在圆点上签名——这没问题,这不是,根据该报告做这个,做那个。

我想创建一个程序(可能使用 C#)来读取扫描纸上的签名点,并根据它将获得的数据进行排序。现在另一个 worker 正在做这件事。

有没有任何编程语言的方法?

如果没有,也许有一个免费程序已经在执行此操作,如果文件和程序从那里开始,则生成输出。 (例如,我找到了 freemark,但它不是免费的,而且与我阅读的内容相去甚远)

我知道这个问题有点宽泛 - 对此感到抱歉。

最佳答案

我最近遇到了类似的情况,我也搜索了现成的软件,但最终以编程方式解决了它

想法是使用一些 OCR 工具(如 tesseract)通过标签识别每个复选框的位置。

每个复选框都应该在矩形/标记之前或之后有一个标签,使用 OCR 识别它的位置,使用标签位置你可以很容易地裁剪出带有复选标记的矩形

隔离复选框的矩形后,您可以选择一种算法来了解它是否被选中,这里有一些方法:

  • 使用一些机器学习来识别复选标记(X 或其他)
  • 计算矩形的平均颜色,颜色较深的复选框会包含一些内容
  • 计算您必须从中心扩展多少个像素才能达到黑色像素,如果复选框上有标记,您将很快达到黑色像素,如果没有,您只能在点击矩形时达到一个.在这里你可以决定一个阈值,比如如果你必须走过超过 40% 的复选框,它可能是空的

同样的想法也适用于其他东西,比如单选按钮,唯一的区别是它们是圆形的

关于c# - 使用 c#/php/anylanguage 检测纸上的签名点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57231408/

相关文章:

c# - 使用 System.DirectoryServices.AccountManagement 我收到奇怪的错误

php 动态添加字段而不先定义它们

javascript - 警报/确认按钮必须位于同一页面上

jquery - CSS/图像翻转/jQuery?

javascript - 从外部 URL 提供的 HTML 图像中获取像素的颜色?

安卓保存图片到sd卡报错

c# - 序列化到 MemoryStream 会导致 OutOfmemoryException,但序列化到 FileStream 不会。谁能告诉我为什么?

c# - Mysql 连接器类型

c# - 如何在 protected 中实现接口(interface)成员?

Php:我怎样才能从字符串中删除任何字符或整个字符串,不包括引号之间的字符?