1.安装openCV 2.4
2.安装emgucv-windows-x86 2.4.0,注意目录中不能有空格,很多问题都是由此引起,空格改成下划线
3.VS 2010C#中新建windows项目,在工具箱上“添加选项卡”命名EmguCV,然后右键“选择项...”->"NETFrameworks"导入“C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin”下的Emgu.CV.UI.dll,面板上会多4个组件。
4.在工程的“引用”中,右键“添加引用...”,把C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin下所有形如Emgu.CV.XXXX.dll的文件都导入,也别忘记导入ZedGraph.dll
5.C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin下Emgu.CV.dll、Emgu.CV.ML.dll、Emgu.CV.UI.dll、Emgu.Util.dll、ZedGraph.dll文件拷贝到工程的debug或release目录中,如果用到其他dll文件,也拷进来。如果正常编译,这步其实可以不用,用到的DLL文件会自动拷贝到debug和release下,这里是防止第四步中漏引用相应的dll引起错误。
6.在系统PATH中,添加2个路径
1)C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin\x86
2)C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin
OpenCV 2.4开始的版本,如果不使用自编译的dll,其实是用不到的。如果是使用自编译opencv库,那么把编译后的dll和lib放在一个bin目录,把目录也加入系统PATH。
导致cvinvoke异常的原因,是因为找不到相应的DLL文件。
解决一:就是使用上面的PATH设置,把需要用到的DLL都加到系统路径。
解决二:把前面加到PATH的目录下的所有DLL文件都拷贝到工程项目的debug和release目录下。
推荐使用第一种方法,第二种方法虽然简单,但是缺点是占用300M多的空间。
是否能正常运行,用下面的例子可以测试一下,如果正常,可以弹出窗口显示一张图片。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.Util;
namespace EmguDemo
{
publicpartial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
CvInvoke.cvNamedWindow("Hello");
IntPtr img = CvInvoke.cvLoadImage("C:\\1.jpg",Emgu.CV.CvEnum.LOAD_IMAGE_TYPE.CV_LOAD_IMAGE_ANYCOLOR);
CvInvoke.cvShowImage("Hello", img);
CvInvoke.cvWaitKey(0);
CvInvoke.cvReleaseImage(ref img);
CvInvoke.cvDestroyWindow("Hello");
}
}
}
以上实测ok.修改path后,注销重新登录后,vs2010才能使用新的path设置!
原文http://blog.sina.com.cn/s/blog_6233611f01016mpj.html
2.安装emgucv-windows-x86 2.4.0,注意目录中不能有空格,很多问题都是由此引起,空格改成下划线
3.VS 2010C#中新建windows项目,在工具箱上“添加选项卡”命名EmguCV,然后右键“选择项...”->"NETFrameworks"导入“C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin”下的Emgu.CV.UI.dll,面板上会多4个组件。
4.在工程的“引用”中,右键“添加引用...”,把C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin下所有形如Emgu.CV.XXXX.dll的文件都导入,也别忘记导入ZedGraph.dll
5.C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin下Emgu.CV.dll、Emgu.CV.ML.dll、Emgu.CV.UI.dll、Emgu.Util.dll、ZedGraph.dll文件拷贝到工程的debug或release目录中,如果用到其他dll文件,也拷进来。如果正常编译,这步其实可以不用,用到的DLL文件会自动拷贝到debug和release下,这里是防止第四步中漏引用相应的dll引起错误。
6.在系统PATH中,添加2个路径
1)C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin\x86
2)C:\Emgu\emgucv-windows-x86_2.4.0.1717\bin
OpenCV 2.4开始的版本,如果不使用自编译的dll,其实是用不到的。如果是使用自编译opencv库,那么把编译后的dll和lib放在一个bin目录,把目录也加入系统PATH。
导致cvinvoke异常的原因,是因为找不到相应的DLL文件。
解决一:就是使用上面的PATH设置,把需要用到的DLL都加到系统路径。
解决二:把前面加到PATH的目录下的所有DLL文件都拷贝到工程项目的debug和release目录下。
推荐使用第一种方法,第二种方法虽然简单,但是缺点是占用300M多的空间。
是否能正常运行,用下面的例子可以测试一下,如果正常,可以弹出窗口显示一张图片。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.Util;
namespace EmguDemo
{
}
以上实测ok.修改path后,注销重新登录后,vs2010才能使用新的path设置!
原文http://blog.sina.com.cn/s/blog_6233611f01016mpj.html