Emgu学习笔记(一)安装及运行Sample
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的更多相关文章
- CentOS学习笔记--Tomcat安装
Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...
- OracleDesigner学习笔记1――安装篇
OracleDesigner学习笔记1――安装篇 QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一. 前言 Oracle是当 ...
- nodejs学习笔记<一>安装及环境搭建
零零散散学了几天nodejs,进度一直停滞不前,今天沉下心来好好看了下nodejs的介绍和代码.自己也试着玩了下,算是有点入门了. 这里来做个学习笔记. ——————————————————————— ...
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- 学习笔记:安装swig+用SWIG封装C++为Python模块+SWIG使用说明
这段时间一直在摸索swing,用它来封装C++代码来生成python脚步语言.并总结了swing从安装到配置再到代码封装编译生成动态库的整个过程,下面这篇文章都是我在实际的运用中的一些经验总结,分享给 ...
- Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...
- TP6学习笔记一:安装与基本配置
1 说明与概述 1.1 说明 以下内容大部分来源于TP6完全开发手册,以手册为主附上个人理解,仅作学习使用. 1.2 概述 第一篇学习笔记,主要记录TP6的基础,包括TP6简介,安装,Hello Wo ...
- CUBRID学习笔记 2 安装教程
下载地址 http://www.cubrid.org/?mid=downloads&item=any&os=detect&cubrid=9.3.0 选择适合你的服务器版本 l ...
- Hadoop学习笔记3---安装并运行Hadoop
本文环境是在Ubuntu10.04环境下运行的. 在Linux上安装Hadoop之前,首先安装两个程序: 1.JDK1.6(或更高版本).Hadoop是用Java编写的程序,Hadoop编译及MapR ...
- Android(java)学习笔记160:Framework运行环境之 Android进程产生过程
1.前面Android(java)学习笔记159提到Dalvik虚拟机启动初始化过程,就下来就是启动zygote进程: zygote进程是所有APK应用进程的父进程:每当执行一个Android应用程序 ...
随机推荐
- iOS-OC-基础-NSArray常用方法
NSArray常用方法和属性 // ——————————————————————数组常用方法—————————————————————— // 1.计算数组元素的个数: count NSArray * ...
- 使用do...while的方法输入一个月中所有的周日
do{ var date = Number(prompt('请输入一个月的总天数')); var start = (prompt('请输入一个月的一号是周几')); for(var i=0;i< ...
- BlockingQueue
BlockingQueue的使用 http://www.cnblogs.com/liuling/p/2013-8-20-01.html BlockingQueue深入分析 http://blog.cs ...
- 深入C语言内存区域分配(进程的各个段)详解(转)
原文地址:http://www.jb51.net/article/39696.htm 一般情况下,一个可执行二进制程序(更确切的说,在Linux操作系统下为一个进程单元,在UC/OSII中被称为任务) ...
- Js 导出Excel IE ActiveX控件
function ExportExcel() { var oXL = new ActiveXObject("Excel.Application"); //创建excel应用程序对象 ...
- jq里attr和prop的区别
jquery中attr和prop的区别 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答 ...
- Java--static interface
http://stackoverflow.com/questions/8374646/what-is-a-static-interface-in-java http://stackoverflow.c ...
- DataTable类
DataTable是一个使用非常多的类,记得我在刚刚开始学习.Net的时候就已经了解并用过这个类,但如今再来看看,才发现这个类非常之复杂,复杂表现在哪些地方呢?主要是这个类与其他很多类都有关联,也就是 ...
- PHP函数十进制、二进制、八进制和十六进制转换
PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明,主要掌握各进制转换的方法,以应用于实际开发. 一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin ...
- UESTC_树上的距离 2015 UESTC Training for Graph Theory<Problem E>
E - 树上的距离 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 262143/262143KB (Java/Others) Subm ...