Emgu的安装以及在VS2017上的配置

Emgu的安装以及在VS2017上的配置

  • 前言

本人最开始是用VS2017和OpenCV做图像处理的,但是最近心血来潮想做一个UI界面,将之前做的图像处理算子封装在上面,然后利用可视化的处理手段进行调用。

说干就干,鉴于本人目前的能力,我选择.NET框架下的winform来进行图形界面的设计,在图形界面设计的过程,发现之前的算子在C#的平台上调用有点问题。因为目前OpenCV并不支持C#,所以想在C#平台上调用OpenCV代码有两种方法。一:将C++写的OpenCV代码(本人之前的图像处理算子就是用C++写的)封装成dll动态链接库,然后在调用。二:利用Emgu(这是国外公司开发的,里面封装好了OpenCV)将之前的代码重新再写一遍。

我是在尝试了这两种方式之后才写的这篇文章(有一说一,写这篇文章的初衷实在是因为CSDN和博客园上有些误人子弟的注水文章浪费了我太多的时间,有点气不过了。),所以还算有点发言权。

  • Emgu的下载

    下载地址:https://sourceforge.net/projects/emgucv/

    点击上方的链接,你可能会进入一个满是英文的界面,如下图:

在这里插入图片描述

点击Files,然后进入下面这样一个界面:

在这里插入图片描述

点击emgucv这个父文件夹,然后会弹出这样的一个页面。

在这里插入图片描述

你可以从这个界面选择你想要下载的emgu的版本。我选择的是版本是4.1.0。然后会出现这样一个界面:

在这里插入图片描述

选择带有.exe后缀的文件,然后会弹出这样的一个界面:

在这里插入图片描述

等这个绿色的读秒读完了,浏览器就会自动下载(如何读秒读完了,浏览器没有任何反映,那本人的建议是换个版本重新下载,我之前也遇到过类似情况,换个下载的版本就行了)。

下载完之后,找到文件,大概是这样子的。

在这里插入图片描述

点击它然后会出现一个install程序,一步步安装即可。

在这里插入图片描述

你可以更改安装的路径,我是安装在D盘下的。安装好后的样子大概是这样的:

在这里插入图片描述

到这里emgu就弄好了。可能有些读者看了其他的文章,说要配置环境变量的。我没有配置也是能用的,说明配不配都不重要。

在这里插入图片描述

  • 测试是否安装成功

    在你下载好的的emgu文件夹中,有一些模板项目,可以用它来进行测试你的emgu是否安装成功。

    在这里插入图片描述

    在上面的文件夹中有一个Emgu.CV.Example文件夹打开它,然后找到一个叫HelloWorld的文件夹打开它,选择用vs2017打开HelloWorld.csproj文件。然后点调试。会出现这样一个界面:

    在这里插入图片描述

    能做到这一步说明你的emgu基本上是配置好了。

  • 新建项目

    1. 创建一个项目。我用的是vs2017。

    2. 添加Emgu引用,在你的项目下找到引用,右击它,在弹出的对话框中点击添加引用,会弹出这样的一个窗口。

      在这里插入图片描述

      然后点击下方的浏览按钮,会出现一个这样的窗体:

      在这里插入图片描述

      在这里选择ZedGraph.dll、Emgu.CV.World.dll、Emgu.CV.UI.dll这三个dll文件。然后点击确定。然后在引用的下拉框里就会多了这三个dll文件。

      我们还需要添加几个OpenCV的dll文件,如下图的几个。

      在这里插入图片描述

      右击你的项目,点击添加,然后再点击现有项,会弹出这样的一个窗体:

      在这里插入图片描述

      其实我也不知道具体要选择那几个dll文件,索性全选了。如果你这个界面没有文件,你就将文件筛选器修改成所有文件就可以了。

      添加完成后需要选中它们,然后点击设置其属性,将“复制到输出目录”属性修改为“如果较新则复制”。

      在这里插入图片描述

      做到这步那么所有要引用的文件就都引用好了。

    3. 下面写一段代码测试:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      
      using Emgu.CV;
      using Emgu.CV.CvEnum;
      using Emgu.Util;
      
      namespace showImage
      {
          class Program
          {
              static void Main(string[] args)
              {
                  Mat image = CvInvoke.Imread(@"C:\Users\Administrator\Desktop\2.jpg"); //从文件中读取图像
      
                  CvInvoke.NamedWindow("AJpg", NamedWindowType.Normal); //创建一个显示窗口
                  CvInvoke.Imshow("AJpg", image); //显示图片
                  CvInvoke.WaitKey(0); //等待按键输入
                  CvInvoke.DestroyWindow("AJpg");
                  image.Dispose();
              }
          }
      }
      

      调试这段代码。

      在这里插入图片描述

      运行成功!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值