在VS2010(VC10)中配置能使用C#开发语言调用Open CV视觉库的方法如下。众所周知,能供C#使用的OpenCV库叫:Emgu CV。注意用C#开发的话,是不需要单独安装OpenCV的,emgu cv内已经包含!!
————————————————————————————————
文中操作系统:Windows 7 x64 中文旗舰版;
文中编译环境:Visual Studio 2010 中文旗舰版;
Emgu CV(OpenCV for C#)版本:libemgucv-windows-x86-2.3.0.1416.exe (http://cdnetworks-kr-1.dl.sourceforge.net/project/emgucv/emgucv/2.3.0/libemgucv-windows-x86-2.3.0.1416.exe)。
最近有网友说,emguCV的官网已经打不开,估计看来是被国内防火墙限制了,如果需要安装包的,可以发送邮件到我的邮箱,我在线的话,会尽快发送软件给大家。
实在搞不定,加我百度hi:mvp_xuan,或发送邮件到:mvp_xuan@163.com。
OpenCV2.3在C/C++开发环境下的配置:
http://hi.baidu.com/mvp_xuan/blog/item/eab5ecd2f6f1fbc5a8ec9a02.html
——————————————————————————————
1、下载Emgu CV的x86安装版
http://sourceforge.net/projects/emgucv/files/ ;
2、安装
双击安装文件,一路下一步、我同意,默认配置安装到C盘即可;
3、设置环境变量(设置之后需重启计算机或注销):
PATH(添加如下一行;如无PATH,可自行新建;如修改了Emcu CV的默认安装路径,请自行修改成相应路径):
C:\Emgu\emgucv-windows-x86 2.3.0.1416\bin
有网友说,最新版本的Emgucv,设置环境变量Path时略有不同,dll在bin的子文件夹x86里面,例:
<安装路径>\emgucv-windows-x86 2.4.0.1717\bin\x86
————————————————————————————————
注意:以下步骤,是每次新建项目之后都必须进行的操作。
————————————————————————————————
4、新建项目
新建一个解决方案,并建立一个基于C#下的Windows窗体应用程序的项目:
5、导入UI插件
点击“工具(T)” -> “选择工具箱项(X)…” ,在新打开的窗口中选择:“.NET Framework组件”,点击“浏览”,到目录:C:\Emgu\emgucv-windows-x86 2.3.0.1416\bin下,双击Emgu.CV.UI.dll即可。
看到如图四项之后,点击确定即可。
6、添加引用
右键单击“解决方案资源管理器”中刚才所建项目下的“引用”,选择“添加引用”;在新弹出的窗口中选择“浏览”,到目录:C:\Emgu\emgucv-windows-x86 2.3.0.1416\bin下,选择:Emgu.CV.dll、Emgu.CV.ML.dll、Emgu.CV.UI.dll、Emgu.Util.dll、ZedGraph.dll等共五个DLL文件,并点击确定加入。如下图所示即可:
————————————————————————————————
如上,已经完成所有配置,如果有特殊用途,需要调用到其他的DLL中的方法,请自行在bin目录下,将相应DLL文件引用到项目中即可。
在网上down一些简单demo的代码,copy到项目中,即可验证配置是否成功了。
————————————————————————————————
常见错误解决方案:
1、如遇错误提示:tbb_debug.dll找不到
请下载安装Intel TBB库,需要将tbb库或dll文件所在路径,配置带系统环境变量path中。
2、如遇错误提示:“Emgu.CV.CvInvoke”的类型初始值设定项引发异常
(1)、注销或重启计算机,使得系统环境变量中的path生效;
(2)、通过path中设置的路径去寻找对应的dll文件,查看是否存在,是否被成功引用到VS中;
(3)、copy dll文件到debug和release目录中。
(4)、尝试将.Net FrameWork版本降低,如果是4.0的就降低到3.5,如果是3.5的就降低到2.0。