c# - Tesseract 3.02 无法加载 DLL

标签 c# .net wpf dll wrapper

我正在尝试使用 Tesseract 创建一个简单的 OCR 程序 .Net wrapper for tesseract-ocr .我尝试了示例项目,它非常有效。 问题是,当我运行我的 wpf 项目时,出现 Unable to load DLL 'libtesseract302': The specified module could not be found. 发生错误与代码无关。我尝试了 Dependency Walker 广告,它说我缺少 3 个 DLL。它们似乎是 Windows DLL,但它们不存在于此处:Windows API Sets知道发生了什么事吗?

编辑:

我将目标框架从 4.5 更改为 4,现在这些 DLL 没有任何问题(完美运行的示例项目使用 NET Framework 4.0)。

现在的问题是:无法初始化 Tesseract Engine。如果有帮助,这是我的简单代码:

        try
        {
            using (TesseractEngine engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
            {
                using (Pix img = Pix.LoadFromFile(filename))
                {
                    using (Tesseract.Page page = engine.Process(img))
                    {
                        text = page.GetText();
                    }
                }
            }

        }
        catch (Exception ex)
        {
            text = ex.Message;
        }
        finally
        {
            conv_text_tb.Text = text;
        }

最佳答案

好的,我找到了该错误的修复方法。我将 DLL 文件和位于 tessdata 文件夹中的文件的 Copy to Output Directory 属性更改为 Copy Always。它现在运行良好。

关于c# - Tesseract 3.02 无法加载 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20793799/

相关文章:

c# - 在 WPF 应用程序中使用 MVVM 构建数据库优先模型类

c# - 从 IIS 获取 ERR_CONNECTION_RESET 而日志中没有信息

c# - 如何在 Xamarin.Forms 中使用 XAML 集 CachingStrategy 子类化 ListView

.net - 在项目中声明常量

.net - MVVM 中继命令不会在 Silverlight RIA 应用程序中触发

c# - 检查 WPF 窗口是否打开

WPF、用户控件或数据模板

c# - 断开/关闭客户端

c# - 如何在我的 C# 应用程序中添加对基于 C 的 DLL 的引用?

.net - 测试 Exchange Web 服务 (EWS)