Unable to read the text from an image using tessnet2 and Tesseract-OCR
我编写了下面的.Net 代码来从图像中读取文本:
用于编写代码的平台:
Windows 10、Visual Studio 2015、tesseract-ocr-setup-4.00.00dev 和 tessnet2
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using tessnet2; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; namespace ConsoleApplication2 } |
我都尝试过”任何 CPU”和 X86 的 CPU。也尝试从项目属性更改目标框架版本。
但是,我遇到以下错误:
1
2 3 4 5 6 7 |
An unhandled exception of type ‘System.IO.FileLoadException’ occurred in mscorlib.dll Additional information: Mixed mode assembly is built against version |
编辑:
刚刚在我的 app.config 中写了这个以消除错误,现在看起来如下所示:
1
2 3 4 5 6 |
<?xml version="1.0" encoding="utf-8"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/> |
通过参考安装 NuGet:https://www.nuget.org/packages/NuGet.Tessnet2/
我无法读取图像。我从其中包含文本的 Google 图片之一下载的图片。
这是我收到的消息:
当我签入路径 C:////Program Files (x86)////Tesseract-OCR////tessdata
这就是它的样子:
问题已解决:通过从此处下载 LANG 包:https://github.com/tesseract-ocr/langdata
这是以前缺少的。Tessnet2 工作最重要的是获取语言包,在这里 (https://github.com/tesseract-ocr/langdata) 获取您想要的语言。对于示例,我使用英语。
下载语言并将其解压到”..////Tesseract-OCR////tessdata”文件夹。
注意:默认情况下,语言包在安装过程中似乎不会出现在 tessdata 中。
这是我修改后的代码:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using tessnet2; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; namespace ConsoleApplication2 } Console.Read(); } |
干杯!!!