如您所知,OpenCV 是一个非常有用的库,可让您在计算机视觉领域做出惊人而强大的事情。所以我花了很长时间弄清楚如何在 Unity3d 中使用它,我遇到了很多问题,在网上搜索,我找到了一些建议,但没有一个对我有用。
- 我正在使用 Unity Pro 4.0
- 这个版本的 Emgu CV (emgucv-windows-universal-gpu 2.4.9.1847)
- 我的统一项目目标是:Windows 而不是网络播放器
如您所知,OpenCV 是一个非常有用的库,可让您在计算机视觉领域做出惊人而强大的事情。所以我花了很长时间弄清楚如何在 Unity3d 中使用它,我遇到了很多问题,在网上搜索,我找到了一些建议,但没有一个对我有用。
这就是我为每个想要使用它的人所做的:
这是测试它的方法:
创建一个小脚本,获取“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");
通过在 Plugins 文件夹中添加不同的 dll,它们将在 Mono 编辑器中自动引用,但您可能会遇到“System.Drawing”库的问题,所以不要忘记using System.Drawing
;而且您还必须通过转到脚本编辑器来引用它。
如果是 MonoDevelop-Unity,进入左侧的解决方案资源管理器,右键单击 Refrences->Edit references-> 并在左栏中搜索 system.drawing 并检查它以在右栏中看到它,然后按 ok
另外不要忘记以这种方式更改 Unity->file->build settings 中的构建设置:
现在您可以自由地测试您的脚本并使用 OpenCV 完成出色的工作
PS:我不确定为什么“npp32_50_35”和“cudart32_50_35”必须在Editor文件夹中,但这是唯一对我有用的情况。