18

我在“光学字符识别”方面是全新的,需要更多信息和建议,因为我无法找到是否可以做我需要的事情。

我有以下任务:

  1. 图像作为输入给出 - 它们将具有相同的结构 - 一些图标和公司符号和文本。
  2. 只需选择文本,然后使用某些 OCR 库将其制作为文本。

是否可以使用一些 OCR php 库创建一个函数并只选择一些带有文本的区域?

如果 PHP 没有好的 OCR 库,你能推荐一些其他语言的吗?

下面的例子演示了我想要做什么(这只是一个例子,我并不是想用钱做一些违法的操作):

这是示例图像:

在此处输入图像描述

这是输出(用红色矩形包围的文本):

  1. 这是所有公共和私人债务的法定货币
  2. L11180916G
  3. 一元

欢迎所有文章和建议。

4

5 回答 5

1

我不知道有任何 PHP 扩展实现了 OCR,但作为支持图像处理的通用脚本语言,PHP 是集成其他工具的绝佳选择。

Tesseract 和 gocr都是 OCR 的开源命令行工具,都非常有效。但就像任何 OCR 软件包一样,可能会遇到与您提供的图像相似的图像。如果您的 PHP 代码可以将文本与文本区域隔离开来,那么您将获得更好的结果。您仍然需要进行一些数据清理 - 使用 php 拼写检查器。你会发现同样的误读模式不断出现——比如把“rn”读成“m”。您的 PHP 代码应该能够识别和处理大多数情况。

关于识别文本区域的问题 - 这取决于文档的真实程度。如果您使用 1 美元的钞票调整您的应用程序,它可能能够从许多钞票中读取序列号 - 但它不知道如何读取不同的钞票。有很多可用的图像识别工具,而且 cli 工具也很容易集成。

于 2016-10-04T22:58:53.950 回答
1

您可以使用 Irfanview 32 位,然后安装 KADMOS 插件:http: //irfanview.info/plugins/kadmos/

Kadmos 的 DLL(至少对于插件而言)目前是 32 位的,这就是为什么它仅适用于 32 位版本的 Irfanview。

安装后,打开显示一些文本的图像,然后选择“选项 > 启动 OCR ...(插件)”菜单项。然后,您可以通过在其周围拖放一个矩形来选择一些文本,并且识别的文本将在一个窗口中弹出,您可以从中复制它。该插件仅供个人(非商业)使用,但让您看看 KADMOS 是否适合您的需求。

如果您有很多图片要批量处理,您可以获得 Kadmos DLL 的许可证。有关技术文档,请参阅:http ://www.best-ocr.com/handbuch/book/html/files.html 有关许可问题,请将上述 URL 中的“files.html”替换为“dll_e.htm”。

于 2017-04-05T16:38:26.183 回答
1

您可以使用Abbyy Cloud Ocr Sdk
https://cloud.ocrsdk.com/

于 2018-04-10T09:07:33.667 回答
1

我会推荐:https ://github.com/tesseract-ocr/tesseract

PHP 可能不是这项工作的最佳工具,但如果您愿意,您可以随时从 PHP 中调用 tesseract,然后解析从中得到的结果。

于 2016-06-03T10:57:53.477 回答
0

老问题,但它可能对其他人有所帮助。试试 ClearImage SDK。

http://www.inliteresearch.com/actions/download-proc.php?type=CI&id=

try {
    $Ci = new COM("ClearImage.ClearImage");
} catch (Exception $e) {
    echo $e->getMessage();
}
于 2014-09-18T15:50:24.980 回答