问题标签 [tessnet2]

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 回答
251 浏览

.net - Tessract(用于 .NET 的 tessnet2)- 多于 2 位小数

我正在努力解决从表中读取数据的问题。如果一个数字有 2 位小数,一切看起来都很好,当数字有 3 位小数时,我没有得到小数点,即。(而不是得到 5.575 我得到 5575)。

在此处输入图像描述

我也尝试过来自https://github.com/charlesw/tesseract的 tesseract 3.02,但我发现这在从我想读取的源中读取数据时不太可靠,这就是我使用旧 tessnet2 的原因。

我正在使用以下白字符列表: ocr.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,");

和语言包:版本 2up 的英语。

您有什么建议可以修改以获得更准确的值吗?

谢谢,杰克

0 投票
1 回答
2193 浏览

c# - MemoryStream 到 BitmapImage

我很难转换MemoryStreamBitmapImage. 关于类似情况有很多问题SO,但是在尝试了所有这些之后,我一直无法解决这个问题,所以我求助于你。请注意,我正在使用Magick.NET(ImageMagick.NET) 并且Tessnet2-- 这就是其中的一些代码。

我使用Bitmap类来完成 Magick.NET 和 Tessnet2 中的大部分工作。 BitmapImage用于显示目的。

首先,我加载 PDF 并从其第一页中提取裁剪的位图:

那是我将位图保存到MemoryStream. 一旦我MemoryStream加载完毕,我就开始使用它。我实例化 a Bitmap,以便我可以将它用于Tessnet2相关工作,然后尝试实例化 a BitmapImage

这是我遇到问题的地方。没有那个DisplayImage块,程序运行良好,我只是没有得到显示的图像。我什至可以毫无问题地将Bitmap( TargetImage) 保存到文件中。但是,有了DisplayImage块,我得到System.NullReferenceException

我无法确定它发生的确切位置,因为该ImageStream物体在检查时看起来“很好”。它包含数据并且位于位置 0。如果我尝试将其关闭或对其执行任何操作,在将其分配为StreamSourceto之后DisplayImage,我会null在尝试执行此类操作的行上遇到异常。我什至尝试创建两个不同的流,看看是否是问题所在;但是,我得到了完全相同的行为。调试这是一种痛苦,考虑到它不指向任何特定的行。MemoryStream这和之间显然存在问题BitmapImage。有没有可能两者之间存在某种格式/转换问题,但MemoryStreamBitmap这种特殊情况下却没有?

我尝试了文件路径,将其保存MagickImage到文件中并将其加载到其中BitmapImageUri它完美地工作;但是,我希望能够在内存中执行此操作。顺便说一句,将位置设置0为 MemoryStream 似乎并没有影响Bitmap(正确加载)或BitmapImage(同样的例外)。

我目前使用的临时修复是制作DisplayImage一个BitmapSource,而不是BitmapImage

0 投票
1 回答
6237 浏览

c# - 使用 Tesseract 引擎的 Tessnet2 - 为什么它会给出非常糟糕的输出?

我正在尝试在 C# 中使用 Tesseract 引擎来使用 Tessnet2。对于我提供给 Tessnet2 的许多测试图像,输出非常糟糕,几乎没有任何内容是正确的。

这是我在 C# 控制台项目 Program.cs 类中的代码:

例如,这是一个样本(大型二进制 300 dpi)测试图像“eurotext.tif”: 在此处输入图像描述

这是此图像的 Tessnet2 输出: 在此处输入图像描述

我一直在使用这个网站来学习使用 Tessnet2 的步骤: https ://code.msdn.microsoft.com/windowsdesktop/How-to-use-Tessnet2-library-716be12f

我使用这个网站尝试正确使用 SetVariable(...) 函数来让它做我想做的事,但没有运气,输出也没有太大差异: http ://www.sk-spell.sk.cx /tesseract-ocr-en

我找到了减少引擎错误的 Tesseract 指南: http ://code.google.com/p/tesseract-ocr/wiki/ImproveQuality

  • 它说“Tesseract 最适合使用 DPI 至少为 300 dpi 的文本”.. 此示例图像为 300 dpi

  • 该示例图像也是二进制的,应该可以提供更好的输出,正如许多人在各个网站上所建议的那样

我到处寻找可以提高准确性的解决方案,我发现许多帖子和人都有类似的问题,但没有有效的解决方案。

这个问题的原因可能是什么?我该如何解决?

我是这个主题的初学者,所以如果解决方案太琐碎,请多多包涵。

谢谢!

0 投票
0 回答
270 浏览

c# - DoOCR 关闭 C# 中的活动应用程序

我正在用 C# 开发关于 OCR 的应用程序。

我使用 Tessnet2 作为 OCR 引擎,这是我的代码:

执行此代码时,应用程序立即关闭,没有任何错误。有人可以请教该怎么做吗?谢谢

0 投票
1 回答
93 浏览

c# - 从列表中读取值>

我的 C# 项目中有以下代码:

执行此代码后,任何人都可以帮助阅读List<List<Word>> RecognizedPlates 我在richTextBox 中一无所获的文本。

0 投票
0 回答
779 浏览

c# - 使用 Tessnet 进行 OCR 小图像

我正在尝试使用 tessnet 对以下图像进行 OCR。

到 OCR

不幸的是,它不起作用。我尝试重新缩放图像或将此图像转换为双色调图像,但没有帮助。

我正在使用带有以下白名单的英语语言包 _ocr.SetVariable("tessedit_char_whitelist", "0123456789.,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");

和 OCR 代码:

您能否告知我可以执行哪些操作以提高 tessnet 的图像质量?

0 投票
0 回答
906 浏览

tesseract - 无法使 tessnet2 和 tesseract 工作以识别车牌号

我设法使 emgucv 的车牌识别示例有效。但是,我没有获得所需的 OCR 识别来识别我所在位置的车辆车牌号。

这是代码

这是带有标准车牌号的当地汽车的图片。我使用 openfiledialog 来获取它。

日产车牌识别

但是,我的程序无法识别任何字符添加全部。我得到的最接近的是这张照片。但这不是我想要识别的图片

宝马车牌识别

是由于图像大小还是我需要做进一步的图像预处理。提前致谢

0 投票
1 回答
69 浏览

.net - OCR 仅在图像内返回 FEW 字的大小

是否有任何 OCR 工具可以仅读取图像中某些单词的坐标。例如参考附图,我只需要两个词的坐标,即1)“测量”2)“999999.9mi”在此处输入图像描述

这是可以实现的吗?

我可以考虑将所需的单词作为输入传递给任何 OCR 工具,如 Tessnet2,但没有找到任何合适的功能?任何其他建议都会有所帮助..

0 投票
0 回答
228 浏览

c# - 为最新的 Tesseract 编写 C# 包装器(就像 tessnet 所做的那样)

我已经在我的项目中使用 tessnet 2.0 有一段时间了。但是最近我需要开始使用我同事写的一个软件,它与使用.NET 2.0的tessnet 2.0 dll不兼容。我想我必须找到一种方法来编写 .NET 4.0 C# 包装器。但是我根本没有包装器的知识/经验。

我知道所有的 Tesseract 源代码都可以从这里找到,但是我该如何使用它们呢?

我尝试了很多谷歌搜索来弄清楚从哪里开始以及如何开始,但我真的迷路了。我在编写 C# 和 C++ 代码方面具有中级知识,如果有人能指出我正确的方向,那将非常有帮助。谢谢!

p/s:我不需要神经网络等复杂的功能。

编辑1:感谢您的回复!我绝对不知道多线程问题。我只需要使用 OCR 来读取数字,因此 Tesseract 实际上可以完美地完成工作。在与同事讨论后,我决定在外部运行它。任何线索我该怎么做?

0 投票
1 回答
2182 浏览

c# - Tessnet2 OCR:如何调整 OCR 以仅识别所有字母、单词和数字?

我正在使用 tessnet2,如tessnet2 C# 简单示例中所述。

但是,当我将图像作为输入时,它还包含英文单词和数字或仅包含英文单词。它只返回数字(图像中存在的数字和一些额外的数字)。我在评论第三行后尝试过,但它甚至无法识别数字。有谁知道如何在 C# 中使用 tessnet2 以便它读取所有字母、单词和数字。