概 述
计算机视觉可以说是目前比较“火”的一个研究方向,无论是民用、商用或者工业控制领域都有着广泛的用途。比如自动化行业的视觉定位、缺陷检测、行为分析等等都属于计算机视觉的应用场景。
常用视觉库
目前可以使用C#开发的视觉库主要有Halcon、VisionPro、OpenCvSharp和EmguCV等。其中Halcon和VisionPro是商业授权的视觉软件,价格不菲。OpenCvSharp和EmguCV是大名鼎鼎的OpenCV的C#版本类库,均为免费开源软件,对有志于视觉方面发展的朋友还是值得研究的。
OpenCV是Intel开源的一款跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCvSharp
如果您使用C#开发的话,EmguCV和OpenCvSharp都是不错的选择。但是EmguCV和OpenCVSharp虽然同样都是OpenCV的C#封装,不过在易用性上面OpenCVSharp要明显高于EmguCV。另外对于商用来说,EmguCV使用的是GPL协议,OpenCvSharp则是跟OpenCV一样的BSD协议。BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以“为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
OpenCvSharp在VS中的使用非常便利,可以从NuGet安装。通过关键字“OpenCvSharp”搜索到之后直接安装即可。
图1 从NuGet中安装
安装完成后我们可以在工具箱中看到OpenCvSharp为我们提供的两个WinForm控件,分别是Picturelpl和TrackbarWithLabel,通过它们可以方便的显示图像效果。
图2 OpenCvSharp提供的控件
分别拖一个Picturelpl和Button控件到画面上,调整好大小,并修改按钮的“Text”属性为“加载图像”,重命名控件Picturelpl名称为“CV”。
图3 添加控件
双击按钮,在其点击控件中输入下面代码。
图4 添加事件代码
保存代码并运行,点击按钮就可以看到下面的效果。
图5 使用OpenCvSharp加载图像
OpenCvSharp里面封装了很多OpenCV的函数,使用方法几乎一模一样,您甚至可以参照OpenCV的范例来写OpenCvSharp的程序。
如果您对C#开发自动化方面的应用程序感兴趣的话,推荐我们的《C#与工业自动化》,可以X宝上搜索店铺“hwlib”或者“慧兰博”
关于HwLib(慧兰博)技术团队的更多信息:www.hwlib.com.cn
HwLib(慧兰博)技术团队技术资料:
https://pan.baidu.com/s/1t-5BPQmeUbWRVH9FJ-tjPg
提取码:63rt
THE END
自动化工程师的C#之路(2)--第一个C#程序
自动化工程师的C#之路(1)
经典WinCC vs TIA WinCC Prof
HwLib(慧兰博)公众号
专注于工业自动化高端编程应用
HwLib(慧兰博)微信号