学习OpenCV(6) EmguCV 双目视觉

标签: 图像处理 emgucv emgu opencv C# winform
15人阅读 评论(0) 收藏 举报
分类:

使用EmguCV进行双目视觉的基本操作

  1. EmguCV是什么?
    简单的来讲,EmguCV是一个在.NET环境下的对OpenCV中的函数进行了封装的库,类似的还有OpencvSharp,其实如果我们想在C#的程序里面调用OpenCV,可以使用的方法有很多,例如可以使用COM的方式,导出C函数在C#程序里面使用DLLImport进行引用,或者编写托管C++,在公共语言运行时的帮助下直接使用DLL中由C++编写的类,然而这两种方法都有一个问题,就是参数对应,简单的数据类型可以很容易找到替代类型,但是OpenCV中由很多独特的数据类型,例如矩阵Mat等,这些类型非常常用,但是在C#中却很难找到对应的类型与之直接匹配,这会引起很多麻烦,但是,如果直接使用OPenCVSharp或者EmguCV,就可以避免这个问题,这两个库直接帮我们做好了这些工作,他们的底层依然是使用C++实现的原生的OPenCV,不必过度担心效率问题,而且他们提供了配合Mat等特有数据类型的UI控件,为开发UI程序带来了很多方便.
  2. 使用EmguCV,需要如何配置开发环境?
    基本条件:Visual Studio,推荐版本2015/2017,强烈推荐VS2017.
    EmguCV可以直接到官网下载,这样有一个好处是,安装之后会得到离线文档,这对开发来讲非常重要.但是本文推荐大家使用Nuget来配置环境,这样的好处是生成的解决方案不会依赖于某一个特定的开发机器,如果你经常使用GitHub,或者拥有多台开发机或者工作地点,需要在经常更换开发的地点等,那么你一定会明白一个工程clone下来直接就能编译运行是一件多么重要的事情!
    第一步:新建WinForm工程
    这里写图片描述
    第二步:在解决方案资源管理器->工程节点上右击,点击”管理Nuget程序包”
    这里写图片描述
    第三步:安装emgucv:
    这里写图片描述
    这里写图片描述
    第四步:添加UI工具箱项
    打开项目中的界面,进入窗体设计器状态:
    这里写图片描述
    在工具箱空白处右击,选择”添加选项卡”,并给新建的选项卡命名为”Emgu”(名字可以随便写)
    这里写图片描述
    到刚刚新建的工程目录下,找到刚刚使用Nuget安装的EmguCv,在目录中找到Emgu.CV.UI.dll
    这里写图片描述
    把这个dll拖到刚刚新建好的工具箱里面,会看到多出了四个控件:
    这里写图片描述
    这四个控件就是EmguCV用来显示图片的控件,他们功能十分强大.至此,开发环境就算是配置完了,如果我们把这个工程push到了远端仓库,再从别的地方pull下来,只需要在解决方案管理器视图上右键解决方案,选择”还原Nuget包”,然后再添加工具箱项,就能非常方便的完成开发新环境的还原:
    这里写图片描述
  3. 如何学习使用EmguCV?
    EmguCv的资料非常少,中文资料更是几乎没有,网络上能找到的资源也都是比较老的版本了,但是这是有原因的,因为EmguCV的使用几乎和OpenCV完全一样,只要掌握了他们两个的对应关系,一个熟悉OPenCV而且熟悉C#的人可以直接使用EmguCV做出相同功能的程序,我们一般遇到的问题都是参数不明确的问题,这个问题可以通过查找EmguCV的官方文档非常简单的解决,只要安装官网上下载的EmguCV的安装包,就会得到这个文档的离线版本.
  4. 基于WinForm的,使用EmguCV开发的双目视觉系统
    我使用EmguCV做了一个简单的双目视觉的程序,下面是我的Github,欢迎Star/follow~~~关于这个程序的具体问题,请看github上的readme文档,我会不定时更新,或者给我提issue,我会尽快回复.
    Emgucv 双目视觉
  5. 如何在WPF中使用EmguCV?
    WPF在Windows平台上的UI表现要比winform更好,原生支持的MVVM/MVP设计模式也更方便开发,代码结构也很合理,下一篇文章,将会介绍如何在WPF程序中使用EmguCV.
查看评论

OpenCV

本课程主要讲述了OpenCV的基础知识,通过实例来学习OpenCV,通过本课程的学习,可以全面快速的入门OpenCV
  • 2016年12月27日 16:02

基于EmguCV的标定和匹配

  • 2017年02月27日 09:45
  • 956KB
  • 下载

C#下的openCV(Emgu_CV)教程

  • 2015年12月02日 13:46
  • 6.11MB
  • 下载

双目视觉opencv opengl三维重建

  • 2018年03月24日 12:40
  • 23.2MB
  • 下载

学习OpenCV范例(十九)——轮廓提取和形状描述符

本范例主要介绍了如何提取轮廓和用一些形状描述符对轮廓进行表述,轮廓提取函数涉及到的参数很多,没有经常用到它的话,对参数的了解就不会太深刻,这里也按照本人搜索出来的一些资料进行总结,希望对大家有用。 ...
  • chenjiazhou12
  • chenjiazhou12
  • 2014-03-27 20:42:38
  • 9787

【OpenCV学习笔记 025】OpenCV3双目视觉实验

1 双目视觉何为双目视觉? 双目视觉是模拟人类视觉原理,使用计算机被动感知距离的方法。从两个或者多个点观察一个物体,获取在不同视觉下的图像,根据图像之间像素的匹配关系,通过三角测量原理计算出像素之间...
  • DaveBobo
  • DaveBobo
  • 2017-12-24 16:13:20
  • 1165

基于OpenCV的双目视觉

  • 2011年01月27日 21:05
  • 156KB
  • 下载

EmguCV3.3(C# OpenCV)高清入门视频教程

近期准备着手录制EmguCV(C# OpenCV)视频教程,视频将采用VS2017 + EmguCV3.3版本录制,内容类似本人的Python和C++版本,如果需要的朋友可加我咨询,或关注公众号获得最...
  • stq054188
  • stq054188
  • 2018-01-14 16:46:34
  • 850

【OpenCV】基于OpenCV的双目视觉测试

本文档介绍使用OpenCV来实现双目立体视觉,文档中附有所有需要的源码。 如果读者是想快速工程使用,那可以看我的这篇博客,如果想要系统学习,请先看相关教材,并辅以邹宇华老师的博客。...
  • Loser__Wang
  • Loser__Wang
  • 2016-10-17 09:22:32
  • 3406

opencv与emgucv的参数传递

inthisto_enhance(IplImage* src, IplImage* dst) { cv::Mat img = cv::cvarrToMat(src...
  • chaojichaoachao
  • chaojichaoachao
  • 2015-11-20 16:18:00
  • 1599
    个人资料
    等级:
    访问量: 2万+
    积分: 461
    排名: 10万+
    最新评论