C#调用OpenCV2.4.9和OpenCV3.0.0

来源:互联网 发布:php授权验证系统源码 编辑:程序博客网 时间:2024/05/22 16:21

简介

本文主要讲C#在VS2013中配置OpenCV2.4.9和OpenCV3.0.0。
本机环境:win7、64位、VS2013、OpenCV2.4.9和OpenCV3.0.0

一、安装与配置

Emgu CV是能供C#使用的OpenCV。

1. 下载与安装Emgu

Emgu的下载路径为:http://sourceforge.net/projects/emgucv/files/latest/download
Emgu CV - Browse /emgucv at SourceForge.net
https://sourceforge.net/projects/emgucv/files/emgucv/
要选择对应的版本:
这里写图片描述

安装过程比较简单,一直点下一步即可(我们采用默认路径安装),如下:
这里写图片描述

2. 配置环境变量

PATH(添加如下一行;如无PATH,可自行新建;如修改了Emcu CV的默认安装路径,请自行修改成相应路径):;D:\Program Files (x86)\EmguCV\emgucv-windesktop 3.2.0.2682\bin;D:\Program Files (x86)\EmguCV\emgucv-windesktop 3.2.0.2682\bin\x86;D:\Program Files (x86)\EmguCV\emgucv-windesktop 3.2.0.2682\bin\x64
这里写图片描述
//注意:如果此处不配置,可能会出现编译时抛出异常(由于找不到一些dll文件引起)。如Emgu.CV.DebuggerVisualizers.VS2013.dll

二、第一个example

1. 新建项目

这里写图片描述

2. 导入UI插件

点击“工具(T)” -> “选择工具箱项(X)…” ,在新打开的窗口中选择:“.NET Framework组件”,点击“浏览”,到目录:D:\Program Files (x86)\EmguCV\emgucv-windesktop 3.2.0.2682\bin下,双击Emgu.CV.UI.dll即可。
这里写图片描述

这里写图片描述
看到如图四项之后,点击确定即可。
这里写图片描述

3. 添加引用

右键单击“解决方案资源管理器”中刚才所建项目下的“引用”,选择“添加引用”;在新弹出的窗口中选择“浏览”,到目录:D:\Program Files (x86)\EmguCV\emgucv-windesktop 3.2.0.2682\bin下,选择:Emgu.CV.dll、Emgu.CV.ML.dll、Emgu.CV.UI.dll、Emgu.Util.dll、ZedGraph.dll等共五个DLL文件(主要添加Emgu.CV.dll、Emgu.Util.dll和Emgu.CV.UI.dll即可,其他的可以根据需要在逐渐添加),并点击确定加入。如下图所示即可:
这里写图片描述
但是新的这个只有如下这些?所以我选择了安装libemgucv-windows-universal-3.0.0.2157
这里写图片描述

添加引用完毕Emgu.CV.UI.dll引用之后,工具箱就会出现ImageBox、HistogramCtrl控件。
这里写图片描述

4. 代码逻辑

接下来势必要重要的代码逻辑部分了。在这之前一定要确认前面的每一步配置都无误,否则之后可能会出现各种莫名的异常。从现在开始,程序就可以在开头添加using Emgu.CV;using Emgu.Util;等命名空间来使用EmguCV中的库函数了。
在窗体上画一个按钮,然后再按纽的下面写上如下的程序:

此处我提供2个简单的人眼识别的程序,供用户初步了解Emgu的使用。
Find out more about EMGU Examples | SourceForge.net
https://sourceforge.net/projects/emguexample/postdownload?source=dlp

这是别人的:
http://nf.mail.163.com/netfolder/web/showShareFile.do?k=YXU9adoBT%2BE9DQVZoXBwJ7OEYTR9Ycvt26RT%2BnjZXcY7VRAxCezTwH3MIaJeqBeRTun%2BBlVeT27J%0ATK%2FxwKVs1w%3D%3D
该工程功能描述:在本地选择一个照片,然后点击侦测之后该程序会将照片中的头与双眼标出来……
这里写图片描述

注意,工程代码中有两个字符串faceFileName和eyeFileName要根据自己本机的需要进行适当的修改……

人脸识别:
EMGU Multiple Face Recognition using PCA and Parallel Optimisation - CodeProject
https://www.codeproject.com/Articles/261550/EMGU-Multiple-Face-Recognition-using-PCA-and-Paral

参考

【1】Emgu配置——C#中使用openCV - LC - ITeye博客
http://cherishlc.iteye.com/blog/1686259
【2】Emgu 知识简单整理 - Lendfating的日志 - 网易博客
http://lendfating.blog.163.com/blog/static/18207436720128814033959/
【3】VS2010编译器下针对C#和C++的opencv的配置方法 - nanyangzp - 博客园
http://www.cnblogs.com/nanyangzp/p/3364427.html
【4】C#调用openCV函数及其移植 - u012991190的博客 - CSDN博客
http://blog.csdn.net/u012991190/article/details/71436227
【5】[OpenCV+C#]开发环境的搭建 - lhfslhfs的专栏 - CSDN博客
http://blog.csdn.net/lhfslhfs/article/details/7697261