【问题标题】:How to use opencv in Unity3d?如何在 Unity3d 中使用 opencv?
【发布时间】:2015-04-20 06:24:32
【问题描述】:

我安装了 unity3D。我在上面创建了一个基本的 AR 示例。我想在 unity3d 上使用 opencv。要做,有一些方法。我想使用opencvsharp。我安装了opencvsharp2.4.10,因为我已经安装了opencv2.4.10。

我不知道下一步?如何将 opencv 与 unity3d 集成?我没有找到有用的教程。我用的是 64bit 和 windows8。

编辑

我了解到我们可以在 unity3d 中使用 c++ 代码(包括 opencv 函数)。我使用visual stuio 2013创建了dll。指南链接是here。现在我尝试统一调用substract 函数。

[DllImport ("MatFuncsDll")]
private static extern double Subtract(double a, double b);

 void Update () {
    if (Input.GetMouseButtonDown (0)) {
        /*Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
        float dist;
        plane.Raycast (ray, out dist);
        v3OrgMouse = ray.GetPoint (dist);
        v3OrgMouse.y = 0;*/

        mTrackableBehaviour.gameObject.transform.position = new Vector3 (
            mTrackableBehaviour.gameObject.transform.position.x + (float)Subtract (1, 0.5),
            mTrackableBehaviour.gameObject.transform.position.y,
            mTrackableBehaviour.gameObject.transform.position.z);
    } 
 }

当我运行此代码时,我得到EntryPointNotFoundException:Substract。我将MathFuncDll 放在C://Program Fİles(x86)/Unity/Editor 下,并将同一目录Assets-Library 放在unity 项目下。

【问题讨论】:

  • 检查这个线程:[opencv-emgucv-wrapper-integration-in-unity][1] [1]:stackoverflow.com/questions/16612513/…
  • @dArKpRiNcE 我不想使用 EmguCV。 EmguCV 免费版仅支持桌面应用,不支持移动应用。

标签: opencv dll unity3d integration dynamic-library


【解决方案1】:

【讨论】:

  • 由于不是免费的,我不想使用资产商店的扩展程序。谢谢你的帮助。
  • 第一个链接不适用于扩展。它如何使用 OpenCV 程序集作为统一内部的插件。它得益于 Unity 以插件形式包含在 Unity 外部创建的代码的能力。
  • 你知道如何统一使用动态库吗?我想使用动态扩展而不是静态的。
  • 统一使用 DLL 可以是我前面提到的插件的形式。这是另一个链接可能会有所帮助:stackoverflow.com/questions/15923595/… 但关于 OpenCV Dynmic 不是静态的。我不太确定,因为我没有尝试过,并且上一个链接中的人声称它必须是静态的...检查官方unity 关于插件的文档希望它对你有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多