Emgu学习手册
作为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学习手册的更多相关文章
- Redis学习手册(目录)
为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...
- git学习手册
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
- C#学习手册
考研学子为何放弃考研?C++开发ArcGis为何无疾而终?C#为何又成为新宠?这一切得一切是人性的扭曲还是道德的败坏,敬请收看接下来的C#学习手册.ps:一天一更.拖更打死.
- SQL语句学习手册实例版
SQL语句学习手册实例版 表操作 例1 对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE TABLE STUDENTS (SNO NUMERIC (6, ...
- Redis学习手册——转载
转载出处:http://www.cnblogs.com/stephen-liu74/archive/2012/04/16/2370212.html 为什么自己当初要选择Redis作为数据存储解决方案中 ...
- Emgu学习之(四)——图像阈值
http://www.cnblogs.com/CoverCat/p/5043833.html Visual Studio Community 2015 工程和代码:http://pan.baidu.c ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- (转) 坚持完成这套学习手册,你就可以去 Google 面试了
坚持完成这套学习手册,你就可以去 Google 面试了 系统 指针 value Google 面试 阅读6138 本文为掘金投稿,译文出自:掘金翻译计划 原文地址:Google Interv ...
- Emgu学习之(二)——图像读取、显示、保存
visual Studio Community 2015 工程和源代码:http://pan.baidu.com/s/1o6u5Fdw 内容 在这篇文章中将提到以下内容: 从文件中读取图像 Image ...
随机推荐
- 【 2013 Multi-University Training Contest 5 】
HDU 4647 Another Graph Game 如果没有边的作用,显然轮流拿当前的最大值即可. 加上边的作用,将边权平均分给两个点,如果一个人选走一条边的两个点,就获得了边的权值:如果分别被两 ...
- 【转】Swift之 ? 和 !
原文地址:http://joeyio.com/ios/2014/06/04/swift---/ Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会 ...
- OC基础--多态 及 三特性小练习
什么是多态 什么是多态: 多态就是某一类事物的多种形态 猫: 猫-->动物 狗: 狗-->动物 男人 : 男人 -->人 -->动物 女人 : 女人 -->人 --> ...
- Ubuntu 安装和使用 Zip – rar – 7zip
http://www.rongxuan.org/2013/08/13/ubuntu-%E5%AE%89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8-zip-rar-7zip ...
- map的四种遍历方式
map是Java中非常常用的一种数据结构,但map不同于set和list都继承自Collection接口. 所以map没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素. ...
- Extjs4 -- Ext.loader命名空间的配置
初次使用extjs4的版本,在配置学习Ext.Loader()进行js文件的动态加载机制,由于各种原因导致多次失败,纠结2天,现将解决时出现的问题及需要注意事项进行记录 开发环境myeclipse8. ...
- Linux学习 :Uboot, Kernel, 根文件系统初步分析
1.U-Boot启动内核的过程可以分为两个阶段: 1)第一阶段的功能 硬件设备初始化 加载U-Boot第二阶段代码到RAM空间 设置好栈 跳转到第二阶段代码入口 2)第二阶段的功能 初始化本阶段使用的 ...
- C#操作PPT表格
1.激活组件 AxFramerControl改控件的dll自己再网上百度下下载这里不多讲 /// <summary> /// 检测是否注册控件 /// < ...
- 不使用ASP.NET中的服务器控件将如何上传文件?
遇到文件的上传时,可能会有大部分的开发者喜欢使用服务器控件,虽然很方便,但是却不能很好的控制,不具灵活性. 现给出例子,使用html标签语言灵活的控制文件的上传. 1.html部分 <input ...
- iOS开发一个用户登录注册模块需要解决的坑
最近和另外一位同事负责公司登录和用户中心模块的开发工作,开发周期计划两周,减去和产品和接口的协调时间,再减去由于原型图和接口的问题,导致强迫症纠结症状高发,情绪不稳定耗费的时间,能在两周基本完成也算是 ...