最近毕业。我们一直在研究如何Unity正在使用EmguCV,最后,有些吃老本的今天。
我的环境:Unity3d 4.3.1f
libemgucv-windows-universal-gpu-2.4.9.1847
原文參考:http://forum.unity3d.com/threads/182600-OpenCV-(EMGUCV-wrapper)-integration-in-Unity
如今開始正题:1、下载 并安装 libemgucv-windows-universal-gpu-2.4.9.1847,注意,这是我所用的版本号。其它的Emgu版本号要引入project的文件可能有所不同。
现给出地址下载:http://sourceforge.net/projects/emgucv/files/emgucv/2.4.9-alpha/
2、打开Emgu的安装目录中的bin目录,若我的位置C:\Emgu\emgucv-windows-universal-gpu 2.4.9.1847\bin ,将bin目录下的12个dll文件复制到Unity下的
Plugins 目录下,然后将X86目录下的22个dll文件也复制到Plugins目录下。
3、Unityproject中新建Editor目录,将此时Plugins下的cudart32_50_35 和npp32_50_35 连个文件放入到Editor目录。
4、(这一步没有做确认需不须要。假设以上三步能够,则此步省略)将 cudart32_50_35 和npp32_50_35 两个文件复制一份到Unity的根文件夹下的Editor下,
如C:\Program Files (x86)\Unity\Editor。
5、Player Setting中将设为.NET 2.0
好了,如今假设正常,能够用一下代码測试,一下代码要用到System.Drowing 。现提供Unity可用的System.Drowing.Dll文件的下载地址。直接将当中一个拖 入Plugins就可以。
CSDN 地址:http://download.csdn.net/detail/pmrssn/7377343
測试代码:
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;
public class Test : MonoBehaviour {
void Start()
{
Image<Bgr, byte> picture = new Image<Bgr, byte>("C:\\picture1.jpg");
Bgr myWhiteColor = new Bgr(255, 0, 255);
for(int i=0; i<200; i++)
{
picture[i, i] =myWhiteColor;
}
picture.Save("C:\\picture2.jpg");
}
}
执行结果:
picture1.jpg picture2.jpg
注意1:只有测试目标PC可得到。WebPlayer不可用,其它平台不可测
2:不确定是否有必要配置OpenCV周围环境,因为以前我是带好。