我参考这篇文档(https://blog.csdn.net/HorseRoll/article/details/83310677),用c#调用tesseract进行ocr.
我用nuget 安装了Tesseract,字库也添加了。编译没有报错。
代码如下:
private void Button1_Click(object sender, EventArgs e)
{
TesseractEngine ocr;
ocr = new TesseractEngine("./tessdata", "eng", EngineMode.TesseractAndCube);
Bitmap bit = new Bitmap(Image.FromFile(@"d://test//chinese1.png"));
//bit = PreprocesImage(bit);//进行图像处理,如果识别率低可试试
Page page = ocr.Process(bit);
string str = page.GetText();//识别后的内容page.Dispose();
textBox1.Text = str;
}
但是运行时报错如下,请问怎么解决?
System.AccessViolationException
HResult=0x80004003
Message=尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
Source=<无法计算异常源>
StackTrace:
<无法计算异常堆栈跟踪>
