如您所知,OpenCV是一个非常有用的库,可以让您在计算机视觉中做出惊人而强大的功能。所以我度过了一个很好的时间来弄清楚如何在Unity3d中使用它,我遇到了很多问题,并且在网上搜索,我找到了一些建议但没有一个适合我。
答案 0 :(得分:5)
这是我为每个想要使用它的人所做的:
这是测试它的方法:
创建一个小脚本,取一个“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 Editor中自动引用,但是你可能会遇到“System.Drawing”库的问题,所以不要忘记using System.Drawing
;并且您还必须通过转到脚本编辑器来引用它。
如果是MonoDevelop-Unity,请转到左侧的解决方案资源管理器,右键单击Refrences-&gt;编辑参考 - &gt;并在左栏中搜索system.drawing并在右栏中查看它,然后按确定
另外,请不要忘记以这种方式更改Unity-&gt; file-&gt;构建设置中的构建设置:
现在你可以自由地测试你的脚本并使用OpenCV做了很棒的工作
PS:我不确定为什么“npp32_50_35”和“cudart32_50_35”必须在编辑器文件夹中,但这是唯一对我有用的情况。