1、简单说明

Emgu是Dot Net平台对OpenCV的封装,本质上没有增加新功能,是通过Dot Net的平台调用技术直接调用OpenCV C++语言写的库,使用我们可以方便用.net平台通过OpenCV去处理图像,最大的好处是可以利用.net丰富的类库及各种资源,还有.net的开发效率较快,让不熟悉C++语言的人也可以很方便使用OpenCV。

Emgu的官网是 http://www.emgu.com ,根据官网说法,Emgu是跨平台的,可以在Winodws、Linux、Mac OS X、IPhone、Android中使用。

2、下载及安装

Emgu是开源的,可以sourceforge下载,下载地址 http://sourceforge.net/projects/emgucv/ ,安装说明可参考 http://www.emgu.com/wiki/index.php/Download_And_Installation

现在最新版本是2.9,下载的安装包有208M。

安装过程没有什么特别的,就相当于解压到某个目录。当安装完成后,打开安装目录如下,我安装在D盘,目录是 D:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\

其中,bin\x86目录是OpenCV的32位库文件,bin\x64目录是OpenCV的64位库文件,Emgu运行时,会根据当前的平台决定是加X86目录下的DLL还是X64目录下的DLL。

Emgu.CV.Example目录放是的示例程序的源代码,

Emgu.CV、Emgu.Util、Emgu.CV.ML、Emgu.CV.OpenCL、Emgu.CV.UI、Emgu.CV.WPF、Emgu.CV.GPU、Emgu.CV.OCR、Emgu.CV.Stiching、Emgu.CV.VideoStab 这些目录放的是Emgu的源码,这些目录和OpenCV各模块是相互对应的。

lib和include两个目录放的是C++的引用动态库和头文件,用C++编写OpenCV程序时需要用到这两个目录的文件。

Solution目录方向的是微软VS的解决方案文件,可以直接打开。

Emgu.CV.DeguggerVisualizers目录未明白是干什么用的。

3、打开源代码及示例程序

打开目录 D:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\Solution\VS2010_2012 可以看到有三个文件

如果电脑上已经装有VS2010或者VS2012,那么双击 Emgu.CV.sln这个文件即可打开源码,打开的解决方案如下

双击Emgu.CV.Example.sln可打开示例程序,示例解决方案的项目比较多,还包含的源码项目,这样可以直接调试进入Emgu源码

4、运行“HelloWorld”

在“HelloWorld”项目上右键,“调试”=》“启动新实例”,即可运行“HelloWorld”程序,运行结果如下

5、HelloWorld项目分析

打开HelloWorld项目的引用可知,HelloWord需要引用Emgu.CV和Emgu.Util两个项目。

打开Program.cs源文件,可以看到还是比较简单的,如果写过OpenCV程序,应该很容易看得懂,因为Emgu保留了OpenCV的方法名,又由于Emgu只是对OpenCV进行平台调用封装,所以写法上和OpenCV C++程序也差多。

Emgu学习笔记(一)安装及运行Sample的更多相关文章

  1. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  2. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  3. nodejs学习笔记<一>安装及环境搭建

    零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...

  4. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  5. 学习笔记:安装swig+用SWIG封装C++为Python模块+SWIG使用说明

    这段时间一直在摸索swing,用它来封装C++代码来生成python脚步语言.并总结了swing从安装到配置再到代码封装编译生成动态库的整个过程,下面这篇文章都是我在实际的运用中的一些经验总结,分享给 ...

  6. Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)

    前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...

  7. TP6学习笔记一:安装与基本配置

    1 说明与概述 1.1 说明 以下内容大部分来源于TP6完全开发手册,以手册为主附上个人理解,仅作学习使用. 1.2 概述 第一篇学习笔记,主要记录TP6的基础,包括TP6简介,安装,Hello Wo ...

  8. CUBRID学习笔记 2 安装教程

    下载地址  http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...

  9. Hadoop学习笔记3---安装并运行Hadoop

    本文环境是在Ubuntu10.04环境下运行的. 在Linux上安装Hadoop之前,首先安装两个程序: 1.JDK1.6(或更高版本).Hadoop是用Java编写的程序,Hadoop编译及MapR ...

  10. Android(java)学习笔记160:Framework运行环境之 Android进程产生过程

    1.前面Android(java)学习笔记159提到Dalvik虚拟机启动初始化过程,就下来就是启动zygote进程: zygote进程是所有APK应用进程的父进程:每当执行一个Android应用程序 ...

随机推荐

  1. iOS-OC-基础-NSArray常用方法

    NSArray常用方法和属性 // ——————————————————————数组常用方法—————————————————————— // 1.计算数组元素的个数: count NSArray * ...

  2. 使用do...while的方法输入一个月中所有的周日

    do{ var date = Number(prompt('请输入一个月的总天数')); var start = (prompt('请输入一个月的一号是周几')); for(var i=0;i< ...

  3. BlockingQueue

    BlockingQueue的使用 http://www.cnblogs.com/liuling/p/2013-8-20-01.html BlockingQueue深入分析 http://blog.cs ...

  4. 深入C语言内存区域分配(进程的各个段)详解(转)

    原文地址:http://www.jb51.net/article/39696.htm 一般情况下,一个可执行二进制程序(更确切的说,在Linux操作系统下为一个进程单元,在UC/OSII中被称为任务) ...

  5. Js 导出Excel IE ActiveX控件

    function ExportExcel() { var oXL = new ActiveXObject("Excel.Application"); //创建excel应用程序对象 ...

  6. jq里attr和prop的区别

    jquery中attr和prop的区别   在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答 ...

  7. Java--static interface

    http://stackoverflow.com/questions/8374646/what-is-a-static-interface-in-java http://stackoverflow.c ...

  8. DataTable类

    DataTable是一个使用非常多的类,记得我在刚刚开始学习.Net的时候就已经了解并用过这个类,但如今再来看看,才发现这个类非常之复杂,复杂表现在哪些地方呢?主要是这个类与其他很多类都有关联,也就是 ...

  9. PHP函数十进制、二进制、八进制和十六进制转换

    PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明,主要掌握各进制转换的方法,以应用于实际开发. 一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin ...

  10. UESTC_树上的距离 2015 UESTC Training for Graph Theory<Problem E>

    E - 树上的距离 Time Limit: 2000/1000MS (Java/Others)     Memory Limit: 262143/262143KB (Java/Others) Subm ...