zoukankan      html  css  js  c++  java
  • Emgu学习之(一)----Emgu简介

    OpenCV

    OpenCV是一个开源的跨平台的计算机视觉库,它的设计目标时执行速度尽量快,主要关注实时应用。可以运行在Linux、Windows、Mac OS、Android、IOS、Maemo、FreeBSD、OpenBSD等操作系统上。OpenCV采用C/C++语言开发和使用外还支持使用C#、Ruby、Java等编程语言,同时提供了对Python、MATLAB等语言的接口,实现了图像处理和计算视觉方面的很多通用算法。OpenCV包含的函数500多个,覆盖了计算机视觉的许多应用领域,如工厂产品检测、医学成像、信息安全、用户界面、摄像机标定、立体视觉和机器人、显卡加速等。

    Emgu 介绍

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

    Emgu历史进程如下:

    2008年3月 第一个版本开源版本EmguCV 1.1.1发布

    2008年5月 EmguCV 1.2.2 正式发布,实现了从Image和Matrix类中获取》NET数组O(1)操作,以及一个窗体图像显示控件ImageBox。

    2008年9月 EmugCV 1.3.0正式发布,修正了许多bug,新增了Bgra色彩空间,同时引入了ZedGraph组件显示直方图,并且对程序集实现了强签名。

    2008年11月 EmugCV 1.4.0 正式发布,支持OpenCV 1.1Pre1版本。

    2009年2月 EmugCV 1.5.0 正式发布,新增了机器学习库。

    2009年10月 EmugCV 2.0.1 正式发布,基于OpenCV 2.0开发

    2010年12月 EmguCV 2.2.0 正式发布,,新增了特征检测,并开始支持VS 2010开发环境。

    2011年2月 EmguCV 2.2.1 正式发布,新增GPU硬件加速组件。

    2011年8月 EmguCV 2.3.0 正式发布,使用tesseract 3.0新增OCR检测,同时增强及修复GPU组件功能。

    2012年5-9月 EmguCV 2.4.X(0,2) 正式发布,新增IOS及Android方面的商业版本,同时将GPU组件建立在CUDA 4.2版本之上。

    2013年1月-2014年4月 EmguCV 2.4.9 (Alpha,Beta)发布,GPU构架不在依赖客户机Nvidia显卡驱动程序,并开始支持Windows Store App,新增CLAHE算法。

    2014年12月 EmguCV 2.4.10发布,基于OpenCV 2.4.10开发。

    2015年5月 Emgu CV 3.0.0 候选版发布,基于OpenCV 3.0.0-rc1版本,新增对Windows Phone8.1、Unity5.0的支持。

    2015年6月 发布Emgu CV3.0.0,基于OpenCV 3.0.0,将非托管代码合并到一个dll库(cvextern.dll)。新增对VS 2015的支持,移除VS 2008 的调试可视化支持。

    2016年2月 发布 Emgu CV 3.1.0不再支持x86上的CUDA,CUDA 7.0版本已经放弃了x86支持。

    2016年12月 发布 Emgu CV 3.1.0-r16.12,CUDA构建基于CUDA 8.0并支持最新的NVIDIA设备。

    2017年5月 发布Emgu CV 3.2.0,基于OpenCV 3.2,升级Tesseract OCR到 4.0-dev版本,并且使用更好的LSTM -OCR引擎替代原先的OCR引擎

    2017年11月 发布Emgu CV3.3.0 基于OpenCV 3.3,Windows版本使用Visual Studio 2017构建,同时将CUDA升级到9.0。

    2018年4月 发布EmugCV 3.4.1 基于OpenCV 3.4.1 ,升级CUDA到9.1。

    Emug资源地址:

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

    Emug CV 安装文件下载地址:https://sourceforge.net/projects/emgucv/files/emgucv/

    Emgu CV 源码地址: https://sourceforge.net/projects/emgucv/files/emgucv/

    从官网上你可以找到EmguCV的最新版本、基础教程和在线API文档。在我写这篇文章时,EmguCV发布的最新版本为Emgu.CV-3.4.1,如果从官网下载速度较慢,你可以从我的网盘下载,地址为:https://pan.baidu.com/s/1ed5a1lESb3wtUfq07Y61hA:。下载得到的时一个名称为libemgucv-windesktop-3.4.1.2976.exe的安装程序,安装完成后,在安装目录内容如下图所示:

    clip_image002

    在Solution文件夹中有Visual Studio的项目文件,其中Example项目包括了Emgu的源代码和例程,这些例程包括形状检测、脸部检测、车牌检测、OCR、交通标识检测、SURF特性匹配、视频处理等非常丰富的示例,具体例程项目如下图:

    clip_image004

    新建项目

    1、 新建一个控制台项目,项目名称设置为Demo。

    2、 添加Emgu引用


    clip_image006clip_image008

    3、 添加OpenCV库—从安装目录下的libs X86(X64)文件夹中添加OpenCV库:

    clip_image010

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

    clip_image012

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

    static void Main(string[] args)
            {
                //从文件中读取图像
                var mat = new Mat("lena.jpg");
                //创建一个显示窗口
                CvInvoke.NamedWindow("Lena", Emgu.CV.CvEnum.NamedWindowType.AutoSize);
                //显示图像
                CvInvoke.Imshow("Lena", mat);
    
                //等等按键输入
                CvInvoke.WaitKey(0);
                //销毁显示窗口
                CvInvoke.DestroyWindow("Lena");
    
                //释放资源
                mat.Dispose();
            }

    运行效果:

    clip_image014


    作者:潘圣国

    出处:http://www.cnblogs.com/OceanChip

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。好的资源大家一起分享,共同进步

  • 相关阅读:
    Java EE (3) -- Java EE 6 Web Services Developer Certified Expert(1z0-897)
    二、用电信号传输 TCP/IP 数据(1)
    P2384 最短路 洛谷
    T1231 最优布线 codevs
    P3371 单源最短路径【模板】 洛谷
    spfa【模板】
    P1396 营救 洛谷
    解决Android加固多进程ptrace反调试的思路整理
    Android Dex文件格式解析
    360加固保so动态脱壳
  • 原文地址:https://www.cnblogs.com/Oceanchip/p/8886710.html
Copyright © 2011-2022 走看看