我正在使用此OCR的编译后的.NET版本,可以在@http://www.pixel-technology.com/freeware/tessnet2/中找到

我可以使用它,但是这样做的目的是翻译车牌,可惜引擎确实不能准确翻译一些字母,例如,这是我扫描以确定字符问题的图像

结果:

12345B7B9U
ABCDEFGHIJKLMNUPIJRSTUVHXYZ

因此,以下字符被错误地翻译:

1,O,Q,W

这似乎还不错,但是在我的车牌上,结果并不是很好:

= H4 ODM

= LDH IFW

假测试

= NR4 y2k

如您所知,我已经尝试了降噪,增加对比度并删除不是绝对​​黑的像素,但没有真正的改进。

显然,您可以“学习”引擎的新字体,但是我想我需要重新编译.NET的库,而且看来这是在我没有的Linux操作系统上执行的。

http://www.scribd.com/doc/16747664/Tesseract-Trainingfor-Khmer-LanguageFor-Posting

因此,我为下一步尝试着迷,我编写了一个快速控制台应用程序,纯粹是出于测试目的,如果有人想尝试的话。如果有人有任何想法/图形处理/图书馆思想,我将不胜感激。

最佳答案

我最近通过Tessnet2使用了Tesseract(如果没有记错的话,Tessnet2是RémyThomas制造的Tesseract 2.0的VS2008 C++包装器)。让我用我对该工具的一点知识来帮助您:

  • 1st,如上所述,该包装仅适用于Tesseract 2.0,而newest Tesseract version on Google Code为3.00(代码不再托管在Source Forge上)。有定期的贡献者:我看到了3.01左右版本的计划。因此,您不会从最后的增强功能中受益,包括页面布局分析,这在您的车牌不是100%水平时可能会有所帮助。
  • 我向Rémy索要有关版本3的Tessnet2 .NET包装器,他暂时不打算这样做。因此,就像我所做的那样,您必须自己做!
  • 因此,如果您想获取最新版本的源代码,可以从Subversion存储库下载(所有内容都在dedicated site page上进行了描述),如果您使用的是Visual Studio 2008,则可以对其进行编译,因为它们的源代码包含一个vs2008子文件夹中的VS2008解决方案。该解决方案由VS2008 C++项目组成,因此要在C#中获得结果,您必须将.NET P/Invoke与该项目构建的tessDll一起使用。同样,如果您需要这样做,我会提供一些您可能感兴趣的代码示例,但是您可能希望继续使用C++并做自己的新WinForm项目,例如!
  • 当您完成编译时(应该不会有什么大问题,但告诉我您是否遇到了一些问题,我也可能也遇到过它们:-)),您将在输出中包含几个二进制文件,这些二进制文件将允许您执行具体的培训!再次,有a page specially dedicated to Tesseract 3 training。借助此培训,您可以:
  • 限制您的字符集,这将自动删除标点符号(例如,“/-\”而不是“A”)
  • 表示您检测到的歧义(如您所见,用'D'代替'O',用'B'代替'8'等),将在您使用培训时予以考虑。
  • 我还看到,如果将图像限制在字母所位于的区域(即无脸,周围无风景),则Tesseract的效果会更好:就我而言,我只需要识别从特定区域拍摄的卡片照片网络摄像头,所以我使用图像处理来限制区域。当然,那很长,但是我的图像来自许多不同的来源,所以我别无选择。如果您可以将图像限制在最低限度,那就太好了!

  • 希望对您有所帮助,请随时给我您的意见和疑问!

    关于c# - Tesseract OCR库-学习字体,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4908919/

    10-13 06:07