【发布时间】:2013-12-04 10:24:27
【问题描述】:
我正在尝试创建一个答卷标记(多项选择题)python 应用程序。答题卡会被扫描成图片文件(gif,png,jpg,需要的格式都可以)。
我的应用可以访问存储所有答案的数据库。
所以,它所需要的只是扫描图像中的某种数据,以便它可以比较答案并计算分数。
答题卡具有固定尺寸,表格格式如下(考生将用“X”标记答案以表明他们的答案):
通过互联网搜索后,我发现有一些 OCR API 可用。
第一个是 Pytesser 。它非常易于使用,结果还不错。但它只适用于纯文本的图像。所以,我觉得不合适。
我找到的第二个是Ocropus。它看起来很强大,但在它的文档中
窗户
OCRopus 在很大程度上依赖于 POSIX 路径名和文件系统。 您可以使用 .更简单的方法 就是在VirtualBox下的Ubuntu中安装VirtualBox并运行OCRopus。
所以我认为它主要用于 linux。我找不到窗口平台的详细安装指南。 (我是初学者,所以我可能错了)
我找到的第三个是 python-tesseract ,它是 Tesseract OCR 的包装器。在他们的page 中,提供了安装指南。基本上,我需要,
- python-tesseract-win32.deb
- python-opencv
- numpy
但我不知道如何在窗口上安装.deb 文件。我已经安装了opencv 和nampy。
以下是我的问题:
(1) 我可以通过哪种方式将表格图像转换为可处理的数据(甚至可能吗?)?
(2) 是否还有其他有用的 OCR API 我没有在此处提及但可能会有所帮助?
(3) 最后,(我的愚蠢想法)是否可以使用PIL 将图像分成小块(基于表格单元格的大小 - 因为表格尺寸是已知的)然后使用pytesser将每个小图像转换为文本,然后对数据进行相应的处理?
仅供参考:我只需要它用于 Windows 平台,可能用于 windows xp 32 位。我正在使用 python 2.7.5。
【问题讨论】:
-
.deb 是 Linux Deiban/Ubuntu pachage 文件,你基本上不用在 Windows 上安装这些文件。
标签: python python-2.7 python-imaging-library ocr tesseract