Bitmap image = new Bitmap("eurotext.tif");
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789"); // If digit only
ocr.Init(@"c:temp", "fra", false); // To use correct tessdata
List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);
foreach (tessnet2.Word word in result)
Console.WriteLine("{0} : {1}", word.Confidence, word.Text);程式一运转到 Init()这句就会主动加入,没有错误提醒。有高人说该DLL是用VC++开辟的,需求装置VC++ Runtime,我装的是vs2010完整版不可能少VC++,但照样不可。
请列位高手指点一二。不堪感谢,感谢。

解决方案 »

  1.   

    ocr.Init(@"c:temp", "fra", false); // To use correct tessdata
    是这样的 ocr.Init(Application.StartupPath + @"\tessdata", "eng", false);刚才借用别人的代码。, 应用当前语言包的位置绝对没问题,也是英文包。
      

  2.   

    你好。楼上的朋友;加了try语句了,更本try不到异常,但是把生成的exe文件拿到别人电脑上却可以使用,很郁闷
      

  3.   

    难道没人能解决的了吗?偌大的一个csdn?
      

  4.   

    我的正常了。可能是使用的tessnet2必须用tesseract-2.00.eng.tar.gz 这个语言包,如果使用tesseract-ocr-3.01.eng.tar.gz 将会退出。
      

  5.   

    tessnet2目前只更新到 tessercat-orc的2.0版本,所以,必须用orc的2.0的语言包,经过测试的确是这个样子的,这个问题,大家以后注意就是了(C#)
      

  6.   

    如果你安装过tessercat-orc 3.0 记得卸载掉
      

  7.   

    如果你安装过tessercat-orc 3.0 请将它卸载
      

  8.   

    同。。后来在stackoverflow上看到几个帖子也说要用2.0的语言包,但是前提是要把安装过的3.0版本卸载,然后清理注册表,似乎应该是可以的但是我照做了仍然没解决问题,估计还是卸载之后有残留。不过我换了了tessnet1的版本,加上3.01(3.02好像之前试过不行)的语言包,惊喜的成功了。。你可以试试我说的这种方法