gpt4 book ai didi

tesseract - tesseractengine3 .net 包装器的简单示例

转载 作者:行者123 更新时间:2023-12-04 17:19:35 24 4
gpt4 key购买 nike

我正在尝试做一些简单的 OCR 任务,但我仍在寻找免费的图书馆。既然每个人似乎都在使用 tesseract,有人能给我提供一个简单但有效的示例,说明如何将 tesseractengine3.dll 与 C# 或 VB.NET 结合使用吗?搜索了几个小时后,我找不到任何文档或在 VS2010 和 .Net 4 下编译的示例。

最佳答案

试试这个

    Ocr ocr = new Ocr();
private void button1_Click(object sender, EventArgs e)
{


using (Bitmap bmp = new Bitmap(@"C:\OCR\ocr-test.jpg"))
{
tessnet2.Tesseract tessocr = new tessnet2.Tesseract();
tessocr.Init(null, "eng", false);
tessocr.GetThresholdedImage(bmp, Rectangle.Empty).Save("c:\\temp\\" + Guid.NewGuid().ToString() + ".bmp");
// Tessdata directory must be in the directory than this exe
Console.WriteLine("Multithread version");
ocr.DoOCRMultiThred(bmp, "eng");
Console.WriteLine("Normal version");
ocr.DoOCRNormal(bmp, "eng");
}
}
public class Ocr
{
public void DumpResult(List<tessnet2.Word> result)
{
foreach (tessnet2.Word word in result)
Console.WriteLine("{0} : {1}", word.Confidence, word.Text);
}

public List<tessnet2.Word> DoOCRNormal(Bitmap image, string lang)
{
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.Init(null, lang, false);
List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);
DumpResult(result);
return result;
}

ManualResetEvent m_event;

public void DoOCRMultiThred(Bitmap image, string lang)
{
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.Init(null, lang, false);
// If the OcrDone delegate is not null then this'll be the multithreaded version
ocr.OcrDone = new tessnet2.Tesseract.OcrDoneHandler(Finished);
// For event to work, must use the multithreaded version
ocr.ProgressEvent += new tessnet2.Tesseract.ProgressHandler(ocr_ProgressEvent);
m_event = new ManualResetEvent(false);
ocr.DoOCR(image, Rectangle.Empty);
// Wait here it's finished
m_event.WaitOne();
}

public void Finished(List<tessnet2.Word> result)
{
DumpResult(result);
m_event.Set();
}

void ocr_ProgressEvent(int percent)
{
Console.WriteLine("{0}% progression", percent);
}
}

关于tesseract - tesseractengine3 .net 包装器的简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11721436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com