【问题标题】:Tesseract for Unity用于 Unity 的 Tesseract
【发布时间】:2019-09-06 04:15:02
【问题描述】:

这里我想知道如何为 Unity 实现 Tesseract。

我找到了link

但不是示例,他们提供了一个 dll,在导入 dll 后,我按照以下代码进行操作,但出现了一些错误,

public string GetText(Bitmap imgsource)
{
    var ocrtext = string.Empty;
    using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
    {
        using (var img = PixConverter.ToPix(imgsource))
        {
            using (var page = engine.Process(img))
            {
                ocrtext = page.GetText();
            }
        }
    }

    return ocrtext;
}

但是会出现类似的错误,

Assets\Scripts\TesseractOCR.cs(20,27):错误 CS0246:找不到类型或命名空间名称“位图”(您是否缺少 using 指令或程序集引用?)


但在Visual Studio中没有错误,它只在Editior中显示。

我已经把 tesseract 插件和 System.drawing 插件放在里面了 资源\插件

还有其他替代方法吗?

谢谢&问候,

南达

【问题讨论】:

  • 您是否将所有脚本和文件夹插件从 github 复制到您的统一项目中?
  • After importing the Dll 你到底是怎么做到的?你关注Managed plug-ins Manual了吗?
  • @Dom93 是的,但是 github 中没有可用的脚本
  • @derHugo 让我试试
  • 您还应该查看Plugin Inspector

标签: c# unity3d ocr tesseract


【解决方案1】:

我一直在尝试使用 github 存储库统一使用 dll,但它似乎不兼容,它给出了一个错误,说是在 x86 中编译并要求你在 x64 中编译它。我已经看到您可以选择通过 nuget 添加 tesseract:

如果 tesseract 相同,您可以使用 nuget 包,而不是您尝试从 github 使用的包。

【讨论】:

  • 我是从Nuget添加的,但之后Visual Studio中没有错误,但在Unity中
  • 是的,同样的问题。我认为 Tesseract dll 无法统一识别
  • 我有一个错误说tesseract是在x86编译的,需要在x64编译,如果是这个错误你需要源代码。
【解决方案2】:

您必须在解决方案中引用System.Drawing.dll

【讨论】:

  • @Nandha,您必须在项目中添加对它的引用。你做到了吗?
  • 我已经更新了我的问题。 VS中没有错误,但在更新问题中提到的Unity编辑器中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-02
  • 2018-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多