OpenCV在C#中应用—OpenCVSharp

一、什么是OpenCVSharp
    以前一直是基于OpenCV开发视觉算法,但C++语言对于GUI的开发相对于C#来讲确实很不方便,以前就了解到C#下使用OpenCV能够使用EmguCV,这段时间也确实是调通了,可是是经过把C++封装成动态连接库在C#中调用,这样在修改算法的过程当中就会很是的不方便,封装DLL的时候也比较麻烦。在C#中除了Emgucv以外,还有一种叫作OpenCVSharp的工具,从名字就能够看出其是OpenCV提供给C#的接口。OpenCVSharp是OpenCV的.NET wrapper,它比Emgucv更接近于原始的OpenCV,而且有不少的样例参考,其采用LGPL发行,对商业应用友好(基本上至关于BSD)。html

二、OpenCVSharp有什么特色
直接封装了更多的OpenCV方法,下降了学习的难度,比EmguCV更便于使用
大部分继承了IDisposable接口,方便使用using语句
能够直接调用原始风格的OpenCV方法
能够将图像对象直接转换成GDI使用的Bitmap和WPF的WriteBitmap
支持Mono。
三、OpenCVSharp在VS中的环境配置
    相比较OpenCV配置比较麻烦,OpenCVSharp和EmguCV同样,其不需额外的系统环境配置,只须要对项目进行简单的配置便可使用。git

安装OpenCVSharp
有两种方式:一种是使用NuGet(库程序包管理器);另外一种直接下载安装包。github

第一种方式:使用NuGet(库程序包管理器),首先打开VS,在【工具】选项中是否有【库程序包管理器】算法

 

没有的话本身去安装好NuGet.app

https://jingyan.baidu.com/article/066074d636fd19c3c21cb0a2.html(转载自百度)工具

安装好以后,打开【工具】->【库程序包管理器】->【管理解决方案的NuGet程序包】,在其中搜索OpenCVSharp,选择合适的点击【安装】(最好安装最新的)。一直等待完成。学习

 

完成安装以后,须要将安装文件的DLL文件放置在项目可执行文件的Debug文件夹下,怎么去找安装好的文件呢测试

 

 

第二种方式是直接下载安装包spa

https://github.com/shimat/opencvsharp/releases.net

下载好以后解压到一个文件夹(任意的文件夹)

VS中OpenCVSharp的配置
    文件安装好以后,在【解决方案】中右键【引用】->【添加引用】,选择【浏览】,将下载文件中的OpenCvSharp.dll文件添加进引用。

 

将下载文件中的OpenCvSharpExtern.dll复制到可执行文件的Debug文件夹下,全部配置OK,下面测试是否配置成功。

四、测试代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; using OpenCvSharp;    //添加相应的引用便可 namespace OpenCVSharpTest2{ class Program { static void Main(string[] args) { Mat source = new Mat(@"1.bmp", ImreadModes.Color); Cv2.ImShow("Demo", source); Cv2.WaitKey(0); } }}

相关文章
相关标签/搜索