【问题标题】:Using Tesseract ocr in C# Project在 C# 项目中使用 Tesseract ocr
【发布时间】:2013-08-24 11:16:22
【问题描述】:

我已经从Here 下载了tesseract。当我尝试将 dll 文件添加到 Visual Studio 2012 时,它显示错误,表明它不是有效的程序集。任何人都可以向我推荐一些其他dllocr 文件和示例编码。我尝试了很多网站,但我没有找到任何好的网站。然后我找到了这个dll 文件tessrect 并使用了以下代码

string path = @"C:\pic\mytext.jpg";
Bitmap image = new Bitmap(path);
Tesseract ocr = new Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789"); // If digit only
ocr.Init(@"C:\tessdata\", "eng", false); // To use correct tessdata
List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);
foreach (tessnet2.Word word in result)
Console.WriteLine("{0} : {1}", word.Confidence, word.Text);

但 Visual Studio 抛出错误,表明它的程序集无效。任何人都可以帮助我...

编辑:仅属性文件夹中的框架 谢谢n提前

【问题讨论】:

  • 项目属性中的目标框架是否还在客户端配置文件中?
  • 您可以尝试在 x86 或 x64 中构建

标签: c# visual-studio-2012 ocr tesseract


【解决方案1】:

我尝试使用Tesseract .NET wrapper。它有更令人愉悦的语法:

using (var engine = new TesseractEngine(pathToLangFolder, "eng", EngineMode.Default))
{
    // have to load Pix via a bitmap since Pix doesn't support loading a stream.
    using (var image = new Bitmap(fileName))
    {
        using (var pix = PixConverter.ToPix(image))
        {
            using (var page = engine.Process(pix))
            {
                Console.WriteLine(page.GetMeanConfidence() + " : " + page.GetText());
            }
        }
    }
}

【讨论】:

    【解决方案2】:

    你为什么不尝试 OCRSDK 这是一项付费服务​​,也可以试用。从图像中提取文本的准确率为 85% ...

    【讨论】:

    • private void B8_Click(object sender, EventArgs e) { string ts = "C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe"; m = Clipboard.GetImage(); string rd = ", " + m + v + ", 'eng'"; if (m != null) { System.Diagnostics.Process.Start(ts, rd); tb5.AppendText(v + Environment.NewLine); Clipboard.Clear(); m = null; v = null; } else { MessageBox.Show("No Image."); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2023-02-01
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多