Abstract
Keywords Opencv  技术笔记  Opencv 
Citation Yao Qing-sheng.OpenCV 在 Csharp 中应用 OpenCVSharp.FUTURE & CIVILIZATION Natural/Social Philosophy & Infomation Sciences,20220628. https://yaoqs.github.io/20220628/opencv-zai-csharp-zhong-ying-yong-opencvsharp/

Opencv 特辑

OpenCV 在 Csharp 中应用 —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)。

OpenCVSharp 有什么特点

直接封装了更多的 OpenCV 方法,降低了学习的难度,比 EmguCV 更便于使用大部分继承了 IDisposable 接口,方便使用 using 语句可以直接调用原始风格的 OpenCV 方法可以将图像对象直接转换成 GDI 使用的 Bitmap 和 WPF 的 WriteBitmap 支持 Mono。

OpenCVSharp 在 VS 中的环境配置

相比较 OpenCV 配置比较麻烦,OpenCVSharp 和 EmguCV 一样,其不需额外的系统环境配置,只需要对项目进行简单的配置即可使用。安装 OpenCVSharp 有两种方式:一种是使用 NuGet(库程序包管理器);另一种直接下载安装包。

第一种方式:使用 NuGet(库程序包管理器),首先打开 VS,在【工具】选项中是否有【库程序包管理器】没有的话自己去安装好 NuGet. https://jingyan.baidu.com/article/066074d636fd19c3c21cb0a2.html(转载自百度)安装好之后,打开【工具】->【库程序包管理器】->【管理解决方案的 NuGet 程序包】,在其中搜索 OpenCVSharp>,选择合适的点击【安装】(最好安装最新的)。一直等待完成。完成安装之后,需要将安装文件的 DLL 文件放置在项目可执行文件的 Debug 文件夹下.

第二种方式是直接下载安装包 https://github.com/shimat/opencvsharp/releases 下载好之后解压到一个文件夹(任意的文件夹)VS 中 OpenCVSharp 的配置 文件安装好之后,在【解决方案】中右键【引用】->【添加引用】,选择【浏览】,将下载文件中的 OpenCvSharp.dll 文件添加进引用。将下载文件中的 OpenCvSharpExtern.dll 复制到可执行文件的 Debug 文件夹下,所有配置 OK,下面测试是否配置成功。

测试代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
}
}
}

————————————————
版权声明:本文为 CSDN 博主「jameshater」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/jameshater/article/details/79642384

References