我正在尝试做一些简单的OCR任务,而且我仍在搜索免费的图书馆。由于每个人似乎都使用tesseract,有人可以提供一个简单但实用的例子,用C#或VB.NET使用tesseractengine3.dll吗?搜索几个小时后,我无法找到任何文件或在VS2010和.Net编译4.tesseractengine3 .net包装的简单示例
3
A
回答
0
没有为正方体3.01 .NET包装的例子:tesseract-ocr-dotnet
1
试试这个
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);
}
}
1
尝试使用https://github.com/charlesw/tesseract库中使用的http://vietocr.sourceforge.net/真棒开源OCR和简单的例子看库的源代码中的BaseApiTester项目。
相关问题
- 1. .net UIAutomation C++中的简单示例
- 2. 简单的jdbc包装器
- 3. 简单示例SwingUtilities
- 4. SocketAsyncEventArgs? - 简单示例
- 5. ReactiveSwift简单示例
- 6. NSBrowser简单示例
- 7. Guice Servlets的简单示例
- 8. 简单的Android RecyclerView示例
- 9. 简单的SOAP示例
- 10. 简单的C++ hash_set示例
- 11. 简单的GWT OpenID示例
- 12. 简单的GoLang SSL示例
- 13. 简单的ASP.NET MVC示例
- 14. 需要一个包含单位的类型的简单示例
- 15. 创建简单的C++ .net包装。一步一步
- 16. 简单示例速度示例
- 17. XML的XSL转换 - 简单的.NET示例?
- 18. 最简单的protobuf-net示例所需的帮助4
- 19. divs包装-jsFiddle示例
- 20. Flex:拖放,简单示例
- 21. python3 ctype CreateWindowEx简单示例
- 22. 简单代表示例?
- 23. OSMDroid简单示例需要
- 24. Proguard简单示例错误
- 25. XQuery:简单查询示例
- 26. 简单示例aes256 crypt
- 27. WCF和Onvif简单示例
- 28. 简单示例WCF奇数
- 29. atk4 - 简单apicli示例
- 30. Ehcache with tomcat简单示例
不工作=(无法加载程序集 – 2012-11-02 15:32:46