仅选择图像的特定部分

时间:2012-12-24 13:47:39

标签: php ocr

我是“光学字符识别”的新手,需要更多信息和建议,因为我无法找到可以做我需要的东西。

我有以下任务:

  1. 图像作为输入 - 它们将具有相同的结构 - 一些图标和公司符号和文字。
  2. 只需要选择文本,然后使用某些文本作为文本 OCR库。
  3. 是否可以使用某些OCR php库创建一个函数,并只选择一些带有文本的区域?

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

    下面的例子展示了我想要做的事情(这只是一个例子,我不是试图通过金钱进行法律操作):

    这是示例图片:

    enter image description here

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

    1. 这是所有债务,公共和私人的法律投标
    2. L11180916G
    3. ONEDOLAR
    4. 欢迎所有文章和建议。

5 个答案:

答案 0 :(得分:1)

我建议:https://github.com/tesseract-ocr/tesseract

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分: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 对于许可问题,请替换" files.html" by" dll_e.htm"在上面的网址中。

答案 3 :(得分:1)

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

答案 4 :(得分: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();
}