C# Opencv学习_超详细教程(亲自实践)
C# Opencv笔记(一)——OpenCvSharp库入门介绍
本文作者Lawrence,位置未经作者允许禁止转载,谢谢!
以下所有内容,均来源于亲自实战和查询相关资料
前言
文本主要介绍C#图像处理中常用的两个库:OpenCvSharp和EmguCv,二者都是对OpenCv的封装。
一、OpenCvSharp是什么?
OpenCvSharp 是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考。该库采用BSD发行(github上的README列出来的是BSD),对商业应用友好。使用OpenCvSharp,可用C#,VB.NET等语言实现多种流行的图像处理(image processing)与计算机视觉(computer vision)算法。
特点:
- OpenCvSharp直接封装了更多的OpenCV方法,尽可能以本机OpenCv C/C++ API样式为原型,降低学习难度。
- OpenCvSharp大部分了继承了IDisposable接口,方便使用using语句块。
- OpenCvSharp不强加面向对象思维,无需采用面向对象的编程风格,可以直接调用原生风格的OpenCV方法。
- OpenCvSharp提供用于从转换Mat为Bitmap(GDI+) 或者WriteableBitmap(WPF)的功能。
- 支持Mono。可以运行于支持Mono的任何平台上(如Linux,BSD,Mac OS X等)。
官方链接如下:
Github链接:https://github.com/shimat/opencvsharp
Release版本链接:https://github.com/shimat/opencvsharp/releases
目前,截止到2021年12月31日,已经更新到4.5.3版本。
二、EmguCv是什么?
EmguCV 是.NET 平台下对OpenCV 图像处理库的封装。也就是OpenCV的.NET 版。它运行在.NET 兼容的编程语言下调用OpenCV的函数,如C#、VB、VC++等,它可以在Visual Studio和Unity上编译,并可以在Linux 、Mac OS、Windows和Android平台上运行。和OpenCvSharp相比,更新维护较慢,用户不友好,强烈推荐大家使用OpenCvSharp。
总结
本文仅仅简单介绍了C#图像处理中常用的一个库:OpenCvSharp
后续文章将主要介绍OpenCvSharp的使用,亲自实战,并熟练掌握,有问题欢迎大家评论并联系我