使用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(6) EmguCV 双目视觉相关推荐

  1. 快速系统从零学习OpenCV 4路线图

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 转眼间,小白学视觉就要成立三周年了,小白一直是很感谢小伙伴们的支持 ...

  2. 【从零学习OpenCV 4】4种读取Mat类元素的的方法

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  3. 【从零学习OpenCV 4】Mat类构造与赋值

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  4. 【从零学习OpenCV 4】Mat类介绍

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  5. 【从零学习OpenCV 4】安装过程中问题解决方案

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  6. 【从零学习OpenCV 4】了解OpenCV的模块架构

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  7. 【从零学习OpenCV 4】Image Watch插件的使用

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  8. 【从零学习OpenCV 4】opencv_contrib扩展模块的安装

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

  9. 【从零学习OpenCV】4Ubuntu系统中安装OpenCV 4

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门 ...

最新文章

  1. 对账 java 龙果支付,龙果支付开源项目对账接口说明
  2. 为什么JS是单线程?JS中的Event Loop(事件循环)?JS如何实现异步?setimeout?
  3. FastDFS入门步骤
  4. DNA甲基化检测服务
  5. [java核心外篇]__Object类与对象类型的转型
  6. svn 查看版本历史时。Item is not readable svn: 条目不可读
  7. MySQL 优化---索引实战(三)
  8. 测试声音软件贴吧,免费声音相似度测量软件Sound-Similar Free
  9. Puppet自动化Nginx+Mongrel负载均衡配置
  10. 干货分享!软考中高项案例分析10大管理领域理论背诵要点
  11. 佩服的一个阿里 P9 大佬,离职了...
  12. 【JY】流体力学之牛顿流体和非牛顿流体
  13. Getting Started and Beyond|云原生应用负载均衡选型指南
  14. Eclipse官网下载地址
  15. Cesium Primitives加载大量图标点
  16. shell图形化监控网络流量 网络流量的监控工具有很多,如:Mrtg、Cacti、Zabbix等等,他们都有着各自的特点,不同的侧重,只为适合不同的应用场景的各种特殊需求。除了网络流量监控工具以外,还
  17. Mac电脑双击打不开文件夹
  18. RedisUtils工具类,设置缓存,然后需要在删除,更新插入的时候清空缓存,保持redis和mysql的数据一致
  19. anaconda无法启动,一直停在loading applications卡住的解决方案
  20. 7-2 凑零钱 (30 分)

热门文章

  1. Qt TextEdit 使用
  2. 字节跳动java后端实习生面试总结
  3. 数据仓库系列篇之管理规范
  4. Java电子笔记(一)
  5. HashMap底层实现原理--详细
  6. wps数据透视图如何显示所有数据标签
  7. 机器学习 | MATLAB实现PSO-IELM粒子群改进极限学习机回归和分类预测
  8. mysql 使数据并列和并排显示
  9. Chrome手机调试模式
  10. 抖音矩阵号系统搭建之企业号私信功能开发