最近接触计算机视觉方面的东西,于是准备下手学习opencv,从官网下载windows的安装版,配置环境,一系列步骤走完后,准备按照惯例弄个HelloWord。也就是按照网上的教程,打开了那个图像处理领域非常有名的lena图片(据说是个裸女\(^o^)/~)。

正当我摩拳擦掌准备开始opencv学习之旅的时候,习惯了GUI的我突然觉得用C++做开发弄界面很麻烦,不如用C#来的方便,于是又发现了一个封装了opencv的.net库,可以被VC++,VC#,VB.net调用,即EmguCV。网上对于EmguCV的介绍很少,不是因为它没用,而是因为它的使用方法几乎和opencv一模一样,opencv的资料完全可以直接用于EmguCV。但对于小白来讲,opencv和Emgucv都是零基础的情况下学习emgucv,过程真的是很痛苦。通过加入QQ群,向一个个大牛请教,通过大牛不耐其烦的指导,总算完成了当时迫在眉睫的任务。在这里,非常感谢EmguCv群512782650中的群主小危,和热心群友X,是他们热心的指导和帮助,让我一个门外汉找到了一个切入的门径,让我明白了程序猿群体中除了高傲的屌丝外,还有热情的屌丝(哈哈,希望他们看到了别拍我)。投桃报李,我想,既然没有EmguCv的文章少,我就利用课余时间来写一点基础入门的、带点实例的帖子,不敢说深入浅出,那就浅入浅出吧。其中很多内容也是从网上Ctrl+V来的,但是加入了我学习过程中的理解,不敢说非常符合别人的学习习惯,但最起码是我自己从零开始学习时的一些体会。因为是小白,而且OpenCv也是零基础,所以,文章中的一些观点有可能有错误,希望得到各位大牛们的指点,如果能给刚刚接触EmguCV的童鞋一点帮助,那就更好了。

在一开始学习EmguCv的时候,因为资料匮乏,我也几度要放弃,直到我看到了下面的这段文字。所以我非常感谢这篇文章的百度经验作者“超超在上”。所以我把这篇文章内容贴出来,希望给像我一样因资料匮乏而准备放弃EmguCv的童鞋以动力。

不过不少新手在使用EmguCV在使用几次之后便放弃。这有以下几个原因:

1.舆论影响。很多人都说C#的运行效率低。opencv是C和C++编写的,理所当然应该在VC++中运行,图像处理又是一个计算量很大的工作,C#不行。C#运行效率肯定比C/C++差,但是采用混合编程的方法就可以啦,用C#的框架和运行机制,计算交给C就好啦。EmguCV很多处理函数都是采用托管调用opencv。这个在EmguCV的安装包里可以看到,里面含有所有Opencv的dll。

2.缺少资料,学习受挫而放弃。不得不承认EmguCV方面的学习资料实在是太少啦。很多时候出现问题,在网上基本上找不到答案。而且EmguCV前期版本对opencv封装不全面,很多基本的函数没有被封装,使用起来很不方便,网上很多人以讹传讹,编写很困难。不过使用2.3版本就没有这个问题,opencv基本函数都得到了很好的封装。opencv图像处理的函数都封装在cvInvoke中。

而Image<>结构是连接opencv与emgucv的重要桥梁。其中C#的Intptr类型可以很好地传递IplImage*指针结构。

http://jingyan.baidu.com/article/a65957f4aae29024e67f9b13.html,这是原文链接,有兴趣的朋友可以去看一下。

浅入浅出EmguCv(一)OpenCv与EmguCv的更多相关文章

  1. 浅入浅出EmguCv(三)EmguCv打开指定视频

    打开视频的思路跟打开图片的思路是一样的,只不过视频是由一帧帧图片组成,因此,打开视频的处理程序有一个连续的获取图片并逐帧显示的处理过程.GUI同<浅入浅出EmguCv(二)EmguCv打开指定图 ...

  2. 浅入深出之Java集合框架(上)

    Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...

  3. 浅入深出之Java集合框架(中)

    Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...

  4. 浅入深出之Java集合框架(下)

    Java中的集合框架(下) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,哈哈这篇其实也还是基础,惊不惊喜意不意外 ̄▽ ̄ 写文真的好累,懒得写了.. ...

  5. 浅入深出Vue:环境搭建

    浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...

  6. 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置

    浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...

  7. 浅入深出Vue:工具准备之WebStorm安装配置

    浅入深出Vue之工具准备(一):WebStorm安装配置 工欲善其事必先利其器,让我们先做好准备工作吧 导航篇 WebStorm安装配置 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版 ...

  8. 浅入深出Vue系列

    浅入深出Vue导航 导航帖,直接点击标题即可. 文中所有涉及到的资源链接均在最下方列举出来了. 前言 基础篇 浅入深出Vue:工具准备之WebStorm搭建及配置 浅入深出Vue之工具准备(二):Po ...

  9. 浅入深出Vue:前言

    浅入深出Vue系列文章 之前大部分是在做后端,后来出于某些原因开始接触Vue.深感前端变化之大,各种工具.框架令人眼花缭乱.不过正是这些变化,让前端开发更灵活. 博主在刚开始时,参考官网的各个步骤以及 ...

随机推荐

  1. Java收藏

    1.某大神的cnblogs博客关于java的随笔分类:http://www.cnblogs.com/viviman/category/444566.html 2.某大神的cnblogs博客关于java ...

  2. a* products

    Experience of black-box testing on set-top-boxes/IP-connected devices, games consoles and tablets ht ...

  3. BZOJ 1537 二维偏序

    #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> ...

  4. BZOJ 2002 && BZOJ 2409 LCT && BZOJ 3282 初步练习

    #include <cstdio> ; inline void Get_Int(int & x) { ; ') ch=getchar(); +ch-'; ch=getchar(); ...

  5. Drools环境搭建(转)

    Eclipse3.5安装Drools5.2.0.Final插件 到Drools下载页面(现在是http://www.jboss.org/drools/downloads.html) -下载并解压Dro ...

  6. React Native 的ES5 ES6写法对照表

    模块 引用 在ES5里,如果使用CommonJS标准,引入React包基本通过require进行,代码类似这样: //ES5 var React = require("react" ...

  7. linux git 推送空文件夹

    /********************************************************************************* * linux git 推送空文件 ...

  8. Ubuntu Filezilla FTP Client 安装

    /************************************************************************************* * Ubuntu File ...

  9. 利用 iframe解决ajax的跨域问题

    问题 1. form提交或a标签跳转方式提交不会引发跨域问题. 2. ajax出于安全问题就有了跨域问题,因为一次请求中既访问了外部域最后返回了自己的域. 3. 用iframe其实就是想仿照ajax的 ...

  10. FreeMarker操作符

    操作字符串函数 1. substring(start,end)从一个字符串中截取子串 start:截取子串开始的索引,start必须大于等于0,小于等于end end: 截取子串的长度,end必须大于 ...