我已经从Here下载了tesseract。当我试图将dll文件添加到visual studio 2012时,它显示错误,它不是一个有效的程序集。任何人都可以建议我一些其他的ocr文件和样本编码。我尝试了很多网站,但我找到了很好的网站。然后我发现这个dll文件tessrect并使用以下代码
string path = @"C:\pic\mytext.jpg";
Bitmap image = new Bitmap(path);
Tesseract ocr = new Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789"); // If digit only
ocr.Init(@"C:\tessdata\", "eng", 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);
但是视觉工作室抛出的错误是它无效的装配。任何人都可以帮助我... 编辑:错误是
Could not load file or assembly 'tessnet2_64, Version=2.0.4.0, Culture=neutral, PublicKeyToken=1550524b5ba07e29' or one of its dependencies. An attempt was made to load a program with an incorrect format.
先谢谢
答案 0 :(得分:3)
我见过这个错误的最常见原因是.NET应用程序是构建为X86而你包含的是x64程序集,反之亦然。
检查visual studio中的配置管理器(Build菜单)以及程序集所需的内容。
<强>更新强>
根据此论坛帖子,您使用的DLL是x86程序集:https://code.google.com/p/tesseractdotnet/issues/detail?id=16(除非他们从那时起创建了x64版本)
在这种情况下,将您的应用程序设置为x86。如果尚未提供此功能,请进入Configuration Manager(“生成”菜单),并将“平台”设置为x86
。如果它不在菜单中,您可以通过在下拉列表中选择该选项来编辑现有条目或创建新条目。如果选择新的:在对话框中,选择新平台为x86
并复制当前使用的设置。
答案 1 :(得分:1)