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

今天奖第一步,下载emgu,注意的是,emgu不同版本的差别很大,很多函数在不同的版本都不一样,所以学习的时候要注意书本的版本和你自己的版本匹配。https://sourceforge.net/projects/emgucv/ 我的是3.0版本的。所以以后的一切都是在3.0的基础上进行。下载的时候,最好选占用内存小的那个,主要是为了以后将你做的程序移植到其他没有配置emgu环境的电脑上。安装是个傻瓜式的我就不一一细讲了,安好了以后,老样子,先在电脑的高级设置中设置环境变量中系统变量的path路径,然后在visual studio2013(我的版本)中新建windows窗体应用,然后引用emgu文件夹中的bin文件中的emgu.cv.unti和emgu.cv.ui和emgu.cv三个dll文件,引用完后,在vs工具,工具项中引入emgu.cv.ui文件,然后将三个属于emgu的控件添加到工具箱(直方图,imagebox等)至此,一切准备就绪,下边我们开始做一个demo来试试。

从工具箱中拉出一个imagebox控件放在form窗体中,再拉出一个button控件,编写button控件的click事件,添加代码如下:

string path = @"...";//找一个图片的路径放入 。

Mat scr = new Mat(path,Emgu.CV.CvEnum.LoadImageType.Grayscale);//Mat是emgu用来存储图像数据的容器,新建一个容器用来存储path路径中的图片(灰度图片)。

imagebox1.image = scr;//imagebox1是控件Name,它的image属性表示控件要显示的图像数据,即将灰度处理后的path路径图像数据再imagebox中展现出来。

现在你编译运行试试,不过一般运行后将会出现异常,是因为emgu.cv.dll初始类型问题,这个问题出现的原因是因为编译的时候找不到对应的dll文件,我们可以在vs菜单项目,找到属性,然后在弹出窗口的生成栏中,选择x64或者x86cpu,再次运行,如果我们设置了系统变量的path以及在vs中引入并且制定了优先处理的cpu类型,但是它还是无法找到,那么此时我们就只能把emgu文件夹中bin文件下的x86或者x64文件夹(取决于你电脑,x86表示32位,x64表示64位)复制到项目文件夹的bin文件中debug目录下。再次运行,应该就可以了。

emgu的学习资料有些少,祝君好运。

Emgu学习手册的更多相关文章

  1. Redis学习手册(目录)

    为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...

  2. git学习手册

    #git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...

  3. C#学习手册

    考研学子为何放弃考研?C++开发ArcGis为何无疾而终?C#为何又成为新宠?这一切得一切是人性的扭曲还是道德的败坏,敬请收看接下来的C#学习手册.ps:一天一更.拖更打死.

  4. SQL语句学习手册实例版

    SQL语句学习手册实例版 表操作 例1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, ...

  5. Redis学习手册——转载

    转载出处:http://www.cnblogs.com/stephen-liu74/archive/2012/04/16/2370212.html 为什么自己当初要选择Redis作为数据存储解决方案中 ...

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

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

  7. Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)

    简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...

  8. (转) 坚持完成这套学习手册,你就可以去 Google 面试了

      坚持完成这套学习手册,你就可以去 Google 面试了 系统 指针 value Google 面试 阅读6138    本文为掘金投稿,译文出自:掘金翻译计划 原文地址:Google Interv ...

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

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

随机推荐

  1. 简单研究Android View绘制三 布局过程

    2015-07-28 17:29:19 这一篇主要看看布局过程 一.布局过程肯定要不可避免的涉及到layout()和onLayout()方法,这两个方法都是定义在View.java中,源码如下: /* ...

  2. Bootstrap<基础十四> 按钮下拉菜单

    使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...

  3. 硬件抽象层:HAL

    本节我们研究硬件抽象层:HALHAL,它是建立在Linux驱动之上的一套程序库.刚开始介绍了为什么要在Android中加入HAL,目的有三个,一,统一硬件的调用接口.二,解决了GPL版权问题.三,针对 ...

  4. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(05)

    1.3.4 绘制窗口 如何在屏幕上随心所欲的进行绘制?应用程序通过响应来自Windows的WM_PAINT消息进行绘制的,此消息通知它更新窗口. WM_PAINT消息如何发生:窗口位置改变:窗口大小改 ...

  5. CONTAINING_RECORD的实现

    // 9.25.cpp : 定义控制台应用程序的入口点.///*----------------------------CONTAINING_RECODER的实现------------------- ...

  6. Leetcode_实现zigzag的转换_20161228

    #include<iostream> //#include<valarray> #include<vector> #include<string> us ...

  7. vi技巧合集

    VIM 技巧 match & replace match the whole word(eg: match printf but not snprintf/fprintf)You can us ...

  8. hbase数据迁移-HDFS拷贝

    1.把数据表test从hbase下拷出 hdfs dfs -get /hbase/data/default/test /home/hadoop/hbase/test 2.文件放到新集群的系统上 scp ...

  9. git学习心得总结

    最近学习git,应为git可以不需要服务器而在任意的Linux机器上管理代码,相对svn和cvs还是有它的优势的,所以我选用了git来管理我的小项目,以后在提供svn的管理. 在使用了一段时间后想写一 ...

  10. c/c++面试题(7)零碎知识总结

    1.变量的声明和定义有什么区别? 声明:变量的声明做了两件事情 a.告诉编译器这个变量已经匹配到一块内存上了,下面的代码用到的变量或对象是在别处定义的. 声明可以出现很多次. b.告诉编译器这个变量名 ...