C/C++中用的是Open CV,C#里面用的是Emgu CV。Emgu CV是对Open CV 函数进行了封装,使其可以用在.net环境。网上对于Emgu CV的资料比较少,光配个环境就用了我两天时间。一直都是报错 "Emgu.CV.Cvlnvoke"的类型初始值设定项引发异常。 现在弄好了,把环境搭建过程写出来供大家参考,也可以加我新建的群369288700 来一起学习交流EmguCV。
我电脑是win7 64位系统,Emgu CV版本是libemgucv-windows-universal-cuda-3.0.0.2158,开发环境VS 2015
1.下载Emgu CV安装文件
官网下载地址 https://sourceforge.net/projects/emgucv/files/emgucv/
2.安装EmguCV
安装路径最好是英文路径。如 D:emgucv
3.配置EmguCV
计算机右键-属性-高级系统设置-高级-环境变量。在系统变量下。双击path项,在变量值(V)中添加第二步中的安装路径(如:D:\Emgu\emgucv-windows-universal-cuda 3.0.0.2158\bin),如果path的变量值中用其他路径,需用分号隔开。
4.使用Emgu CV
打开VS2015,新建一个窗体应用程序。
4.1加载Emgu.Cv.UI.dll控件
在工具箱中添加选项卡,命名为emgucv(可随意命名)。然后再选项卡上右键- 选择项
在.NET Framework选项页下,点浏览,选到Emgu CV安装路径bin文件夹下的Emgu.CV.UI.dll,点确定进行添加。添加完工具箱内会出现所选择的工具。
4.2添加引用
引用-添加引用-浏览。把emgu CV安装目录bin文件夹下的Emgu.CV.dll、Emgu.CV.ML.dll 、Emgu.CV.UI.dll、Emgu.Util.dll、
ZedGraph.dll这五个dll添加到项目引用中。
然后拖入一个button和一个ImageBox。在Button的click事件里面写如下代码
Image<Bgr, byte> image = new Image<Bgr, byte>(320, 240, new Bgr(0, 0, 255));//创建一张320*240尺寸颜色为红色的图像。
imageBox1.Image = image;//在ImageBox1控件中显示所创建好的图像。
然后再VS里,右键项目-属性-目标平台 选择x64
这时候运行仍然会报开始提到的错误,需要把Emgu安装目录bin文件夹底下的x64(因为的的操作系统是64位的)文件夹复制到项目的Debug文件夹下。
这时候运行程序,点下按钮,就可以看到图像框中显示的红色图像了。