问题标签 [tesseract]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
752 浏览

html - Tesseract-Job:如何解析图像以从中获取信息

早上好。

首先。这是我见过的最令人印象深刻的社区!

好几天我都在思考三折工作

一个。得到 b. 解析 C. 存储多页。

两天前,我认为获取页面将是主要任务。不,事实并非如此——我猜解析器工作将是一项艰巨的任务。打算解析的每个页面都是一个 png 图像。

所以问题是 - 在得到所有这些之后。如何解析它们!?这似乎是问题所在。猜猜那里有一些 perl 模块 - 可以帮助做到这一点......

好吧 - 我认为这项工作只能通过嵌入一些 OCR 来完成!问题:这里是否有一个 perl 模块可以用来支持这个任务:

顺便说一句:查看结果页面。

看一张图片

顺便说一句;:正如我认为的那样,我可以在 Id= 0 和 Id= 100000 之间的某个范围内找到所有 790 个结果页,我想,我可以使用循环:

http://www.foundationfinder.ch/ShowDetails.php?Id=11233&InterfaceLanguage=&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=927&InterfaceLanguage=1&Type=Html http://www.foundationfinder. ch/ShowDetails.php?Id=949&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=20011&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id= 10579&InterfaceLanguage=1&Type=Html

我以为我可以采用 Perl 方式,但我不太确定:我试图在具有不同查询参数的相同 URL [见下文] 上使用 LWP::UserAgent,我想知道 LWP::UserAgent 是否提供我们循环查询参数的方式?我不确定 LWP::UserAgent 是否有办法让我们做到这一点。嗯 - 我有时听说使用机械化更容易。但是真的容易吗!?

但是——坦率地说;第一个任务“获取所有页面并不是很困难 - 如果我们将此任务与解析进行比较......这怎么!?

任何想法 - 建议 -

期待收到你的回复...

0 投票
3 回答
21607 浏览

c++ - Tesseract - 更改语言文件位置

我正在制作一个 AIR 项目,它需要一些 OCR 功能,所以我决定使用 tesseract(现在我尝试让它在 Windows 上运行)。

我的问题是,不能更改语言文件的位置 - 它总是试图查看我的 Tesseract 安装目录(程序文件(x86)\Tesseract-OCR\tessdata\mylang.traineddata)

有没有一种方法可以配置 Tesseract 以在我指定的位置查找此文件?例如在与 tesseract.exe 相同的文件夹中。我不想(或者可能无法)使用 AIR 安装程序安装应用程序。我已经用 3.0 版本和最新的 SVN 版本进行了尝试。

谢谢

0 投票
1 回答
597 浏览

perl - 这个模块的问题 Image::OCR::Tesseract

我安装了 activestate perl v5.8.8 我安装了以下模块 Image::OCR::Tesseract 与 ppm

当我尝试运行以下代码时:

我收到以下错误消息:

无效参数 - -compress

1024 在 C:/Perl/site/lib/Image/OCR/Tesseract.pm 第 77 行。

有人可以帮助这个错误消息/或者如果有人之前有这个问题吗?

0 投票
1 回答
1206 浏览

image-processing - 计算机视觉 - 使用图像匹配或 OCR 识别纯文本书籍的页面?

我希望能够识别我正在阅读的纯文本(无图像)书籍的哪一页......最好的方法是什么:

我最初在考虑某种图像匹配,但所有教科书的页面看起来如此相似,不知道这会有多好?

第二个想法是使用 OCR?

任何想法或建议...谢谢!

0 投票
2 回答
2709 浏览

c# - Tesseract - 添加引用不起作用

我正在执行以下步骤:

  1. 在此处下载二进制文件,将程序集 Tessnet2.dll 的引用添加到您的 .NET 项目中。
  2. 在此处下载语言数据定义文件并将其放在 tessdata 目录中。Tessdata 目录和你的 exe 必须在同一个目录下。
  3. 查看 Program.cs 示例

如果我使用以下命令从 lib 调用该类:

我收到以下错误:

找不到名称命名空间或类型“tessnet2”。需要 using 指令或一组参考模块(程序集)?

我如何解决这个问题?

谢谢!

0 投票
1 回答
1384 浏览

iphone - Tesseract OCR:如何找到每个返回字符的读取错误大小?

我在 iPhone 应用程序中使用 Tesseract OCR 引擎从账单发票照片中读取特定的数字字段。使用大量照片预处理(自适应阈值处理、工件清理等),结果最终相当准确,但仍有一些情况我想改进。

如果用户在弱光条件下拍摄照片并且图片中有一些噪点或伪影,OCR 引擎会将这些伪影解释为额外的数字。在某些后面的情况下,它可以读取例如“32,15”欧元的数字量为“5432,15”欧元,这对最终用户对产品的信心一点也不好。

我假设,如果每个读取的字符都存在内部 OCR 引擎读取错误,那么在我之前示例的“54”位上它会更高,因为它们在小噪声像素上被识别,并且如果我可以访问这个读数错误值我将能够轻松丢弃错误的数字。

您是否知道任何方法来获取从 tesseract OCR 引擎返回的每个单独字符的读取误差幅度(或任何“准确度因子”值)?

0 投票
1 回答
1008 浏览

machine-learning - 当您执行更多 OCR 时,Tesseract 似乎正在学习字符,如何在使用之间保存学习数据?

我有一组特定的 10 张图像来执行 OCR。它们都是数字;有点短,每张图片大约 20 位数字。有一个特定的图像,如果我先运行它,它会出现一些不匹配;但是,如果我先运行其他测试,然后再回到那个测试,所有字符都匹配。

我倾向于得出结论,随着更多 OCR 操作的执行,Tesseract 正在学习字符,这让我非常高兴。现在的问题是,如果可能的话,让我保存学习数据,以便 Tesseract 知道下次我使用它时将其拾取吗?

0 投票
1 回答
840 浏览

android - Tesseract 解析图像并返回 null

我在 tesseract 方法中有问题。我使用下面的代码,我的应用程序直接停止。下面是我的jni.cpp文件。

你能帮帮我吗?这个初始化方法中的数据路径是什么?提前致谢。

我的 LogCat 如下。

我的包裹是com.temp.unique.ocr。我的申请进程直接死掉了。

0 投票
1 回答
1194 浏览

android - 任何人都可以在 android 中使用 tesseract-ocr 帮助我了解 Ocr 名片扫描仪的概念吗?

我是 android 新手。我想在 android 中使用 tesseract-ocr 应用名片扫描仪。我搜索了很多与这些项目相关的东西。基于我使用了这些模块:

现在主要问题是:我不知道如何在 ndk 和 cygwin 的帮助下运行 tesseract-ocr 代码。我已经下载了以下给定的文件。有人可以让我知道这些文件是否对我有帮助。

非常感谢,任何关于任何特定解决方案的知识都非常受欢迎!:)

0 投票
2 回答
11938 浏览

ocr - Tesseract 混淆了两个数字

我正在编写一个应用程序来扫描图像中的数字。

这些数字使用 OCR-B 字体,也可能包含+>字符。

这是我的源图像:

源图像

即使将字符集限制为提到的字符,使用 Tesseract 的扫描也不是很好。由于我没有找到 Tesseract 的任何 OCRB 训练文件,我决定自己训练它。

我创建了这个训练图像并从中制作了一个盒子文件。盒子文件是正确的,所有的字母都匹配正确。

然后我做了这里描述的所有步骤来创建其他必要的文件。

使用这个新训练的 OCR-B tessdata-set,我在源图像上得到了很好的结果,但有一个小错误:所有1s 都被误认为8s,反之亦然。用于处理图像的命令是

源图像的输出是

0800000001456>8 00000195731208 8 01050008 023+ 08 0301226>20

如果您交换所有1s 和8s 并将其与源图像进行比较,则输出将是正确的(除了我可以忽略的最后两个字母)。

这怎么可能发生?我在训练过程中是否犯了一些错误?我该如何解决?