1

Can some one suggest a solution for the below scenario ?

We have menus from restaurants. Each restaurant has its own menu. The goal is to identify the elements in the menu such as menu item, toppings, prices etc and update the database.

Fox example : A restaurant menu can contain menu items such as "Chicken", "Vegetarian" etc under a group called "Sandwiches.

For that I am planning to use a java implementation of OCR. Will this work out ?

4

4 回答 4

1

将 PDF 转换为图像(使用 javacv 等)并使用 tesseract 或 tess4j 对其进行 OCR。它不是永久的或最好的解决方案,但效果很好!

于 2012-07-24T09:44:28.190 回答
1

如果您想在代码中使用 OCR,您可以使用Tessrect-OCR和一些原生开发。它是一个非常强大的库,具有快速输出。此链接用于 Tessrect 的包装类,或者您也可以使用Tess4j替代 Tesjeract(首先一)。这是谷歌使用的同一个库,你也可以添加多语言支持。

于 2012-07-24T04:49:02.450 回答
0

如果您正在输入 PDF,然后使用它,则无需这样做;只需阅读 PDF(见下文)。但是,如果您正在扫描 PDF(图像,而不是文本),则需要使用 OCR。

要从文件中读取 PDF,您可以使用iTextPDFBox

于 2012-07-24T04:48:06.783 回答
0

有趣的项目!Java 或任何其他语言,我认为 OCR 不够准确,无法满足您的需求。菜单通常使用非标准字体打印,有时还带有背景图像,这使得 OCR 难以准确读取每个单词。然后你有格式化的挑战。一些菜单可能按鸡肉、素食、牛肉来组织内容。其他的可能有 Light Fare、Entree、Appetizer、小盘子等类别。

这让我觉得这是一个真正的数据工程挑战。虽然菜单看起来像是分层的,但它们的实际结构非常灵活,并且从一个到另一个变化很大。将 OCR 添加到这个混乱中会给整个混乱添加错别字,现在你需要寻找像“鸡”这样的词,因为你实际上可能有 Chicen 或 Cichen 或 (h1ckn.

也许我从未使用过真正出色的 OCR 软件,而我正在想象一个不存在的问题。我认为大多数餐馆都是在电脑上输入菜单的,你最好让他们与你分享这些文件。

于 2012-07-24T04:49:04.057 回答