如何以编程方式读取扫描的文档或图像
本文关键字:文档 图像 扫描 读取 编程 方式 | 更新日期: 2023-09-27 18:18:36
我在网上搜索了一下,因为我对OCR有点陌生,实际上我不确定哪里是一个好的起点。
我想建立一个应用程序,将能够识别&计数,例如,在任何给定的文档/图像行上填写了多少个复选框(它甚至可以是另一种格式,如果有人知道更适合这种类型的应用程序的话)。最终目标是消除手动数据捕获,并加快向应用程序的最终用户获取总体统计信息的过程
我主要用c#编写代码,所以。net解决方案更可取,但如果不是,我会接受我能得到的。
我的想法是重新设计用户填写的表单,类似于这样。(请原谅粗糙的ASCII艺术:P)所以填写表格的人只需要检查纸上的值。
| 1 | 2 | 3 | 4 | 5 |
Product A | [ ] [ ] [ ] [ ] [x] |
Product B | [ ] [ ] [x] [ ] [ ] |
如有任何意见,不胜感激
谢谢!
1)您还可以检查免费的,但非常强大的Tesseract OCR引擎。它是用c++编写的,但你也可以使用c#轻松地与它连接。
2)如果你想用自己的图像处理,你可以看看使用EmguCV库,它是OpenCV的。net包装器。
最近有一个关于openv -tag的帖子,它试图解决一个非常类似的问题,涉及检测乐透卡上的标记。
您可以尝试使用Office MODI库。
其他选项为
- 商业OCR库,或
- 实现你自己的位图识别逻辑(可能是可行的,如果你有完全控制的布局必须扫描)。
如果你所做的只是在方框里寻找X,那么你可以用浅蓝色打印表格,并让人们用黑色墨水笔在方框里做标记。
你只需扫描图像并寻找黑色的X像素。与浅蓝色的形式相比,它们应该相对容易找到。扫描图像上特定的x, y坐标分别对应答案和产品类型。
您需要的是光学标记识别(OMR)。如果你正在计划一个商业软件,看看ABBYY FlexiCapture Engine,它是一个集成数据和文档捕获技术在服务器,桌面和移动应用程序的SDK。它不是免费的,但是当涉及到商业时,它可以为你的产品增加一个重要的价值。
你也可以使用云服务——一个可以让你上传图像并发送回OCR数据的网站。试试www.ocrsdk.com,这是ABBYY最近推出的基于云的OCR SDK。它现在处于测试阶段,所以完全免费使用。它要求终端用户设备具有互联网连接,但它完全独立于您的编程语言选择和用户的设备资源。在github上有。net和Java代码示例。
免责声明:i work @ ABBYY.