【发布时间】:2012-04-21 11:01:58
【问题描述】:
http://code.google.com/p/tesseractdotnet/
我在让 Tesseract 在我的 Visual Studio 2010 项目中工作时遇到问题。我试过控制台和winforms,结果都一样。我遇到了一个声称可以在 VS2010 中工作的 dll:
http://code.google.com/p/tesseractdotnet/issues/detail?id=1
我正在添加对 dll 的引用,该引用可以在上面网站的 64 号帖子的附件中找到。每次构建项目时,我都会收到 AccessViolationException,说有人尝试读取或写入受保护的内存。
public void StartOCR()
{
const string language = "eng";
const string TessractData = @"C:\Users\Joe\Desktop\tessdata\";
using (TesseractProcessor processor = new TesseractProcessor())
{
using (Bitmap bmp = Bitmap.FromFile(fileName) as Bitmap)
{
if (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT))
{
string text = processor.Recognize(bmp);
}
}
}
}
访问冲突异常总是指向if (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT))。我已经看到了一些建议,以确保解决方案平台在配置管理器中设置为 x86,并且 tessdata 文件夹位置以斜杠结尾,但无济于事。有什么想法吗?
【问题讨论】:
-
你能分享你的完整实现吗?我想我正在阅读有关如何设置的相互矛盾的说明。
-
无法获得荣誉,但这对我有用:将 tessdata 文件夹中的 'eng.traineddata' 替换为 code.google.com/p/tesseract-ocr/downloads/…
标签: c# visual-studio-2010 wrapper tesseract