OpenCV
“OpenCV是一个开源的计算机视觉库。OpenCV采用C/C++语言编写,可以运行在Linux/Windows/Mac等操作系统上。OpenCV还提供了Python、Ruby、MATLAB以及其他语言的接口。

OpenCV的一个目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂得计算机视觉相关应用程序。OpenCV包含的函数有500多个,覆盖了计算机视觉的许多应用

领域,如工厂产品检测、医学成像、信息安全、用户界面、摄像机标定、立体视觉和机器人等。”——《学习OpenCV(中文版)》

Emgu

Emgu CV是将OpenCV使用.net编程语言(C#)封装成的.net库,使用Emgu CV就可以在.net平台上调用OpenCV的功能,同时,Emgu CV也是开源的。

Emgu CV官网:http://www.emgu.com

从官网上你可以找到Emgu的最新版本、基础教程和在线API文档。在我写这篇文章时,Emgu发布的最新版本为Emgu.CV-3.0.0,如果从官方网站下载速度较慢,你可以从我的网盘下载,地

址为:http://pan.baidu.com/s/19haRO。下载得到的是一个名称为libemgucv-windows-universal-3.0.0.2157.exe的安装程序,安装完成后,在安装目录内如如图:

在Solution文件夹中有Visual Studio的项目文件,其中Example项目包括了Emgu的源代码和例程,这些例程包括形状检测、脸部检测、车牌检测、SURF特性匹配等非常丰富的示例,

具体示例项目如图:

新建项目

  • 创建项目——我使用的Visual Studio Community 2015,因为是示例程序,所以在Visual Studio中创建一个简单的控制台项目,项目为Demo。
  • 添加Emgu引用——从Emgu安装目录下的bin文件夹中添加库引用:

   

  添加完成后,再在程序中(Program.cs)引用命名空间:

 using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.Util;
  • 添加OpenCV库——从Emgu安装目录下的bin\x86(32位系统)文件夹中添加OpenCV库:

       

  

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

  

  至此,我们就创建了一个可以使用Emgu的项目,在Program.cs中输入以下代码试试看是否能正常运行。

  static void Main(string[] args)
{
var image = CvInvoke.Imread(@"D:\a.jpg", LoadImageType.Color); //从文件中读取图像 CvInvoke.NamedWindow("AJpg", NamedWindowType.Normal); //创建一个显示窗口 CvInvoke.Imshow("AJpg", image); //显示图片 CvInvoke.WaitKey(); //等待按键输入
CvInvoke.DestroyWindow("AJpg"); image.Dispose();
}

  运行效果:

  

Emgu学习之(一)——Emgu介绍的更多相关文章

  1. Emgu学习之(四)——图像阈值

    http://www.cnblogs.com/CoverCat/p/5043833.html Visual Studio Community 2015 工程和代码:http://pan.baidu.c ...

  2. Emgu学习之(二)——图像读取、显示、保存

    visual Studio Community 2015 工程和源代码:http://pan.baidu.com/s/1o6u5Fdw 内容 在这篇文章中将提到以下内容: 从文件中读取图像 Image ...

  3. Emgu学习之(三)——操作图像数据

    Visual Studio Community 2015 工程和代码:http://pan.baidu.com/s/1jHmlQeE 内容 在这篇文章中将提到以下内容: 修改像素值 图像ROI 图像加 ...

  4. Emgu学习手册

    作为opencv的c#封装库.emgu可以满足基本的图像处理功能,经过测试,效果还可以,主要用于windows窗体应用程序的开发,或者wpf,你可以用来做ocr,也可以用来做人脸识别或者可以用来做定位 ...

  5. Emgu学习笔记(一)安装及运行Sample

    1.简单说明 Emgu是Dot Net平台对OpenCV的封装,本质上没有增加新功能,是通过Dot Net的平台调用技术直接调用OpenCV C++语言写的库,使用我们可以方便用.net平台通过Ope ...

  6. Emgu 学习之HelloWorld

    安装和配置 系统Win10,VS2013,下载Emgu安装包libemgucv-windesktop-3.4.3.3016 安装到了E:\OpenCV\emgucv-windesktop 3.4.3. ...

  7. HTML+CSS学习笔记(1) - Html介绍

    HTML+CSS学习笔记(1) - Html介绍 1.代码初体验,制作我的第一个网页 <!DOCTYPE HTML> <html> <head> <meta ...

  8. python学习第二讲,pythonIDE介绍以及配置使用

    目录 python学习第二讲,pythonIDE介绍以及配置使用 一丶集成开发环境IDE简介,以及配置 1.简介 2.PyCharm 介绍 3.pycharm 的安装 二丶IDE 开发Python,以 ...

  9. 前端学习之路-CSS介绍,Html介绍,JavaScript介绍

    CSS介绍 学前端必备掌握CSS样式,css为层叠样式表,用来定义页面的显示效果,加强用户的体验乐趣,那么如何用css到html中呢? style属性方式 利用标签中的style属性来改变显示样式 & ...

随机推荐

  1. Redis集群环境的部署记录

    Redis Cluster终于出了Stable,这让人很是激动,等Stable很久了,所以还是先玩玩. 一. 集群简单概念. Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施( ...

  2. AFN框架基本使用

    0.AFN框架基本使用 0.1 AFN内部结构 AFN结构体 - NSURLConnection + AFURLConnectionOperation(已经被废弃) + AFHTTPRequestOp ...

  3. Web项目构建

    Gradle为Web开发提供了两个插件,war和jetty apply plugin: 'war' apply plugin: 'jetty' war插件继承了java插件,jetty插件继承了war ...

  4. 类图和对象图教程-类(Class)、接口(Interface)、协作(collaboration)、依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)以及实现关系(Realization)

    类图的概念 (转) 一.概述 类图(Class Diagram)是描述类.接口.协作以及它们之间关系的图,用来显示系统中各个类的静态结构.类图是定义其他图的基础,在类图基础上,可以使用状态图.协作图. ...

  5. android studio使用说明

    一.学习的基本配置文档,搞好各种参数的基本配置,熟练使用. C:\Program Files\Java\jdk1.7.0_09\bin   二.problems meet in weather and ...

  6. C语言 文件操作9--fgetc()和fputc()

    //fgetc()和fputc() #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...

  7. 经典趣味24点游戏程序设计(python)

    一.游戏玩法介绍: 24点游戏是儿时玩的主要益智类游戏之一,玩法为:从一副扑克中抽取4张牌,对4张牌使用加减乘除中的任何方法,使计算结果为24.例如,2,3,4,6,通过( ( ( 4 + 6 ) - ...

  8. LeetCode:Palindrome Partitioning,Palindrome Partitioning II

    LeetCode:Palindrome Partitioning 题目如下:(把一个字符串划分成几个回文子串,枚举所有可能的划分) Given a string s, partition s such ...

  9. LeetCode:Path Sum I II

    LeetCode:Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such ...

  10. [MetaHook] R_SparkStreaks

    By hzqst void R_SparkStreaks(vec_t *pos, int count, int velocityMin, int velocityMax) { int i; parti ...