背景:
我通过.net调用OCR引擎来分析图片, 之前试过 Advantage引擎, 能用但是识别不出我想要的图片
然后我想试试 Profession 引擎.
引用里面已经引用了 Forms.OCR.Professiton
问题:
代码编译没错, 而在识别的时候出现一个奇怪的错误:
System.IO.FileNotFoundException”类型的未经处理的异常在 mscorlib.dll 中发生
其他信息: 未能找到文件“C:\Users\Administrator\AppData\Local\Temp\20018b3cf3b04c1abc4a78d92f7de4fc.tmp”。
初始化代码:
public OCR()
{
if (!licenseSet)
SetLeadToolsLC();
//ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, true);
ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Professional, true);
// Start the engine using default parameters
//ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrProfessionalRuntime");
}
出错的代码段: (运行时错误)
public string Read(System.IO.MemoryStream img)
{
// Create an OCR document
using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
{
// Add a page to the document
img.Position = 0;
IOcrPage ocrPage = ocrDocument.Pages.AddPage(img, null);
// Recognize the page
// Note, Recognize can be called without calling AutoZone or manually adding zones. The engine will
// check and automatically auto-zones the page
ocrPage.Recognize(null);
System.IO.MemoryStream stream = new System.IO.MemoryStream();
ocrDocument.Save(stream, DocumentFormat.Text, null);
byte[] buff = stream.ToArray();
string rsl = System.Text.Encoding.Default.GetString(buff);
return rsl;
}
}
请问这是因为什么原因呢? 似乎少了一个文件
但是用 Advatange 引擎则正常.
多谢前辈们
|
|