OpenCV是基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习函数库,支持Windows、Linux、Android和Mac OS操作系统。OpenCV由一系列C/C++函数和少量C++类构成,利用MMX和SSE指令。
OpenCV实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C语言编写,也支持C#、Java、Golang、Ruby和MATLAB开发。
opencv官网https://opencv.org/
C#是开发效率最高,代码最优雅的唯一工业软件开发语言,开发OpenCV当然必须选择C#。
用C#开发OpenCV与调用其他的C/C++类库是一样的路径:(1)ImportDLL;(2)Wrapper;
推荐Wrapper方式。目前最好的是 OpenCvSharp。
OpenCvSharp是一个OpenCV的.Net wrapper,应用最新的OpenCV库开发,使用习惯比EmguCV更接近原始的OpenCV,有详细的使用样例供参考。该库采用LGPL发行,对商业应用友好。使用OpenCvSharp,可用C#,VB.NET等语言实现多种流行的图像处理(image processing)与计算机视觉(computer vision)算法。
1.相较于SharperCV与OpenCVDotNet,OpenCvSharp直接封装了更多的OpenCV方法,降低学习难度。
2.大部分了继承了IDisposable接口,方便使用using语句块。
3.不强加面向对象思维,可以直接调用原生风格的OpenCV方法。
4.可以将IplImage直接转为Bitmap(GDI+) 或者WriteableBitmap(WPF)。
5.支持Mono。可以运行于支持Mono的任何平台上(如Linux,BSD,Mac OS X等)。
opencvsharp githubhttps://github.com/shimat/opencvsharp
印度程序员Satya Mallick制作的OpenCV学习网站,有一些实用文章与代码。
https://learnopencv.com/https://learnopencv.com/
推荐用Visual Studio 的 NuGet,直接安装,快速,维护也方便。
建议,最好,安装下面三个基本的组件,如果要开发更多应用,可再安装其他:
(1)OpenCVSharp4
(2)OpenCvSharp4.Extensions
(3)OpenCvSharp4.runtime.win
编写程序的时候,尤其是使用第三方API,类名?函数名?参数?。。。。
离不开 IntelliCode 的智能提示!!!!!!
IntelliCode for Visual Studio 提供以下功能:
多种语言的 AI 辅助 IntelliSense,可预测供开发者使用的最可能正确的 API,而不仅仅是按字母顺序排列的成员列表。 它使用开发人员当前的代码上下文和模式来提供此动态列表。
对于 C# 用户,除了提供成员建议外,IntelliCode 还提供了参数完成。 此功能对你在调用方法时最有可能使用的参数名称进行星号标记,并将这些建议放置在完成列表的顶部。 当开始在括号中键入内容或按 Ctrl+空格时,将出现完成列表。
Visual Studio 2022 及更高版本的 C# 开发人员也受益于整行完成,它根据当前代码预测下一个代码区块,并呈现为内联预测。
基于你自己的代码的 AI 辅助 IntelliSense 建议(仅限 C#)。
推断代码样式和格式设置约定,以从代码库中动态创建 .editorconfig 文件(仅限 C#)。
建议:IntelliCode 在本地跟踪编辑内容,检测出执行重复的操作,并在其他类似的位置应用相同的操作(仅限 C#)。
使用 OpenCV
只需要加一句:
using OpenCvSharp;
所以的所以,用 OpenCvSharp 写代码很高效,很轻松!