4

我需要建议。我正在尝试使用 Tessnet2 lib 来识别图像文本。

图像由一个包含五个字符(字符和数字)的字符串组成。

  1. 我从http://www.pixel-technology.com/freeware/tessnet2/下载了 lib 。

  2. 在我的项目中添加对这个库的引用。

  3. 然后我下载了语言数据定义文件(来自http://code.google.com/p/tesseract-ocr/downloads/list)并将它放在tessdata目录中。

数据定义文件与 exe 文件位于同一目录中。

这是我的代码:

try
{ //download image from server
    System.Net.WebRequest request =
        System.Net.WebRequest.Create(
        textBox1.Text);
    System.Net.WebResponse response = request.GetResponse();
    System.IO.Stream responseStream =
        response.GetResponseStream();
    Bitmap  image = new Bitmap(responseStream);

    pictureBox1.Image =image;

    tessnet2.Tesseract ocr = new tessnet2.Tesseract();

    ocr.SetVariable("tessedit_char_whitelist", "0123456789"); 

    ocr.Init(@"C:\Users\Tan\Documents\Visual Studio 2010\Projects\TestProject\bin\Release", "eng", false); // To use correct tessdata

    List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);
    foreach (tessnet2.Word word in result)
    {
        richTextBox1.Text = string.Format("{0} : {1}", word.Confidence, word.Text);
    }

}
catch (System.Net.WebException)
{
    MessageBox.Show("There was an error opening the image file."
       + "Check the URL");
}

问题是,如果我调用此代码,应用程序将关闭。我没有收到任何错误消息。我不知道为什么。有谁能够帮我?谢谢你。

4

5 回答 5

3

你安装了 Tesseract 3 吗?

如果是这样,请将其卸载并删除以 tessdata 命名的环境变量,然后重新启动。

于 2010-11-19T13:29:00.940 回答
0

If someone still wants to know what to do in this case:

I had the same problem and i could fix it with help of this link and passing the tessdata directory to the init functions. (There is one in the main function and two in OCR class.) The link mentioned above helped me as i had to download the v2.00 language files instead of the latest v3.0x ...

Best regards

于 2013-02-28T21:37:36.467 回答
0

问题在于您的 ocr.Init()。确保目录“C:\Users\Tan\Documents\Visual Studio 2010\Projects\TestProject\bin\Release”包含所需的文件:

eng.DangAmbigs

eng.freq-dawg

工程温度

eng.normproto

eng.pffmtable

eng.unicharset

eng.user-words

eng.word-dawg

于 2011-10-20T13:43:02.513 回答
0

我认为 ocr.Init 行中的错误,请确保路径正确。也尝试传递 null 因为我记得它不需要路径,因为您始终必须将所有数据放在包含 exe 文件的同一文件夹中的 tessdata 目录中。

于 2010-10-20T12:03:08.410 回答
0

尝试在 Visual Studio 中针对发布解决方案配置使用调试解决方案配置。发布配置中不包含一些调试信息。并射出这样的虫子。

于 2011-01-31T12:11:17.840 回答