gpt4 book ai didi

c# - Unity 中的 OpenCV(EMGUCV 包装器)集成

转载 作者:太空宇宙 更新时间:2023-11-03 20:38:42 31 4
gpt4 key购买 nike

如您所知,OpenCV 是非常有用的库,可让您在计算机视觉领域做出惊人而强大的事情。所以我花了很多时间弄清楚如何在 Unity3d 中使用它,我遇到了很多问题,在网上搜索时,我找到了几个建议,但没有一个对我有用。

  • 我使用的是 Unity Pro 4.0
  • 这个版本的 Emgu CV (emgucv-windows-universal-gpu 2.4.9.1847)
  • 我的统一项目目标是:windows 而不是网络播放器

最佳答案

这是我为每个想要使用它的人所做的:

  1. 安装此版本的 EmguCV,它会在 C: 中创建一个文件夹 EMGU:
  2. 在此文件夹中,您将有一个名为“emgucv-windows-universal-gpu 2.4.9.1847”的文件夹
  3. 转到“bin文件夹”
  4. 从“bin 文件夹”中,您需要复制 x86 文件夹中的所有 dll(22 个 dll),以及直接复制 bin 中的那些(12 个 dll:Emgu.CV、Emgu.CV.UI……)。对于 X64 目标,您可以尝试相同的操作,我认为这可以通过从 X64 文件夹中获取 dll 来实现。
  5. 在您的 Unity 项目中创建一个名为 Plugins 的文件夹(Assets->Plugins)
  6. 将这 34 个 dll 文件全部粘贴到 Plugins 文件夹中
  7. 从这 34 个 dll 文件中,将“npp32_50_35”和“cudart32_50_35”复制到 Unity 编辑器文件夹中,在我的例子中是“C:\Program Files (x86)\Unity\Editor”
  8. 你已经完成了 Dll 的工作。

这是测试它的方法:

  1. 创建一个小脚本,获取“picture1.jpg”并将前 200 个对角线像素的颜色更改为白色 (255,255,255),然后保存新的“picture2.jpg”必须放入脚本:

    using UnityEngine;
    using System.Collections;
    using Emgu.CV;
    using Emgu.CV.Util;
    using Emgu.CV.UI;
    using Emgu.CV.CvEnum;
    using Emgu.CV.Structure;
    using System.Runtime.InteropServices;
    using System;
    using System.Drawing;

    Image<Bgr, byte> picture = new Image<Bgr, byte>("C:\\picture1.jpg");
    Bgr myWhiteColor = new Bgr(255, 255, 255);
    For (int i=0; i<200; i++)
    {picture[i,i]= color;}
    picture.Save("C:\\picture2.jpg");
  2. 通过在 Plugins 文件夹中添加不同的 dll,它们将在 Mono Editor 中自动引用,但您可能会遇到“System.Drawing”库的问题,所以不要忘记使用 System .绘图;而且您还必须通过转到脚本编辑器来引用它。

    如果是MonoDevelop-Unity,进入左边的解决方案资源管理器,右击Refrences->Edit references->然后在左栏搜索system.drawing并在右栏中查看它,然后按ok

  3. 另外不要忘记以这种方式更改 Unity->file->build settings 中的build设置:

    • PC Mac 和 Linux 而不是网络播放器
    • 目标= window
    • 架构= x86
    • 然后按下“播放器设置按钮”转到“新屏幕中的其他设置”并将 Api Compatibility lavel 设置为 .NET 2.0,而不是 .NET 2.0 子集

现在您可以自由测试您的脚本并使用 OpenCV 完成出色的工作

PS:我不确定为什么“npp32_50_35”和“cudart32_50_35”必须在编辑器文件夹中,但这是唯一适合我的情况。

关于c# - Unity 中的 OpenCV(EMGUCV 包装器)集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16612513/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com