Visual_2008和EmguCV配置

来源:互联网 发布:sicp python pdf 编辑:程序博客网 时间:2024/05/21 13:54

   最近有些悲剧,本想大步的往前走,不想一不小心掉沟里了。既然都已经掉沟里了,那就慢慢往上爬吧。于是就静下心来读书,以前学过OpenCV。现在我做图像处理使用的是C#,通常自己编写一些代码,可是有OpenCV这么好的库不用,在去自己编有些代码,不是舍近求远吗。OpenCV是和VC++在一起配置使用的,C#中使用的OpenCV叫做EmguCV,我大概看了下解释,好像是把OpenCV给封装了,可以支持.NET的开发。接下来我想写的就是如何在Visual 2008中配置EmguCV,然后从网上山寨一个小例子,通过这个了解一下大体上的过程。

 

第一步:下载EmguCV。

 

http://sourceforge.net/projects/emgucv/files/


显示的是最新的版本,但是我用的是VS2008,怕最新的可能和我的VS2008兼容不好,所以我觉定下个较早的版本,点击上图括起来的文件emgucv,可以看到各个版本,如下图所示:


我选择的是2.42的版本,点击进入下载2.42版本的页面,如下图:

从图中可以看到,有好多个下载的,这都是对应不同的系统的,比如有LINUX下的版本,找到windows下的版本,如上图红线括起来的,发现有两个windows下的版本,其中一个下载下来解压后配置好就可以用,一个下载下来还需要安装,这里我直接下载的是解压就使用的,比安装的大,共121.7M,下载下来后我的解压放在了D盘。如下图所示:



在配置之前,还需要一个要windows的一些支持,在EmguCV网站有,我的是VS2008,需要安装MSVCRT 9.0 SP1,如下图,点击进去下载安装便可以了。



第二步:EmguCV和VS2008配置

好,下载好了,那接下来就开始配置了,只有配置好了才可以编程。

我在网上见了两种使用的形式,一种是将我们在编程时使用的所有的.dll文件直接从EmguCV中拷贝到我们编程的对应项目里面,在VS2008中配置好后使用便可以了,这时候也不用设置环境变量等。

第二种就是需要添加环境变量,然后在 VS2008中配置,我这里使用第二种方法:

 

1)首先添加环境变量:

我的是windows7 系统,找到计算机,右键-属性-高级系统设置-环境变量;

过程如下图:


弹出如上图,其中分为上下两部分,第一部分为: Adminitrator的用户变量,第二部分为:系统变量。

我在网上看了,有些配置是在:Adminitrator的用户变量中添加环境变量,有的是在:系统变量中添加,我也因此很郁闷,所以我干脆在两个里面都添加了。

在Adminitrator的用户变量中找到Path,然后把EmguCV的路径添加进去(依照自己EmguCV放的路径)为:

D:\libemgucv-windows-x86-gpu-2.4.2.1777\bin;

D:\libemgucv-windows-x86-gpu-2.4.2.1777\bin\x86

过程如下图:

记得分隔的时候用的是英文输入发的分号  ;


我们在:系统变量中也添加同样的内容。

D:\libemgucv-windows-x86-gpu-2.4.2.1777\bin;

D:\libemgucv-windows-x86-gpu-2.4.2.1777\bin\x86

过程如下图:


现在系统的环境变量配置好了,我们就开始在VS2008中开始配置,通常配置完这一步是需要从新启动一下电脑的,原因我也不知道。

 

2)在VS2008中配置:

    第一首先的保证自己的VS2008的开发环境是在C#下,如果不是,怎么办了?不要着急,一步一步来,先打开VS2008,然后点击工具-导入和导出打开,如下图:


选择重置所有设置,如下图:



点击下一步:


在点击下一步:看到如下图界面,选择一个合适的开发环境便可以了,这里是Visual C#开发环境。


好,VS2008的开发环境配置好了,下来该和EmguCV连起来了。

首先在C#中新建一个项目,如下图:


现在开始将EmguCV关联到这个项目,每次新建一个项目后,都必须这样做。在VS2008旁边的解决资源管理器中找到引用,点击右键-添加引用:

如下图所示:


然后找到浏览,如下图:


到我们安装的EmguCV 下,D:\libemgucv-windows-x86-gpu-2.4.2.1777\bin

下,找到选择:Emgu.CV.dll、Emgu.CV.ML.dll、Emgu.CV.UI.dll、Emgu.Util.dll、ZedGraph.dll等共五个DLL文件,并点击确定加入。如下图所示即可:


这时候其实已经将EmguCV和VS2008关联起来了,可以写一些程序来验证了,通常情况下,为了后续处理,还可以将EmguCV中的一些工具添加进来,过程如下:

VS2008中找到:

工具-选择工具箱,如下图:


打开后,找到浏览:如下图


到我们安装的EmguCV下:D:\libemgucv-windows-x86-gpu-2.4.2.1777\bin

找到Emgu.CV.UI.dll打开,如下图:


则工具箱中会出现如下图所示的工具,这些就是从EmguCV中新添加的,以后可以使用了:


为了验证配置的有效性,我们这里从网上山寨一个小的例子:

 下面的都是从网上山寨来的,感谢代码提供者:

 

 

那么我们现在就来简单用试用一下EmguCV,写个IT入门最常见的输出”Hello World”。

 

Hello World示例:

    该示例展示点击一个按钮,显示“Hello World”(这用PictureBox和cvNamedWindow分别显示)。步骤如下:

1、创建一个Windows窗体应用程序

2、将Form1的Text属性改为:“HelloWorld”

3、在工具栏中拖入一个Button按钮和一个PictureBox

4、将Button的Text属性设置为“Hello World”,PictureBox的SizeModel设置为AutoSize

5、双击Hello World按钮,系统会自动生成一个Click事件

6、添加EmguCV的引用,这里添加最常用的3个【Emgu.CV.dll、Emgu.CV.UI.dll、Emgu.Util.dll】

7、引用EmguCV命名空间

using Emgu.CV;

using Emgu.CV.Structure;

using Emgu.CV.CvEnum;

8、编写按钮Click事件代码

        private void button1_Click(object sender, EventArgs e)

        {

            string winName="HelloWorldWin";

            //创建一个窗口

            CvInvoke.cvNamedWindow(winName);

            //宽:400px  高:300px   白色背景

            Image<Bgr, Byte>image = new Image<Bgr, Byte>(300,300, new Bgr(255, 255, 255));

            MCvFont font= new MCvFont(FONT.CV_FONT_HERSHEY_COMPLEX, 1.0, 1.0);

            image.Draw("HelloWorld!",ref font,new Point(10,100),new Bgr(0,0,0));// 黑色字体

            CvInvoke.cvShowImage(winName,image);

            pictureBox1.Image= image.ToBitmap();

            CvInvoke.cvWaitKey(0);

            //释放资源

            CvInvoke.cvDestroyWindow(winName);

        }

如果可以运行成功,那就恭喜了,配置合适了。




0 0
原创粉丝点击