目录
OpenCV是基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习函数库,支持Windows、Linux、Android和Mac OS操作系统。OpenCV由一系列C/C++函数和少量C++类构成,利用MMX和SSE指令。
OpenCV实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C语言编写,也支持C#、Java、Golang、Ruby和MATLAB开发。
官网地址:https://opencv.org/
github地址:https://github.com/opencv/opencv
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 github地址:https://github.com/shimat/opencvsharp
1、打开VS2000,选择创建新项目
2、选择控制台应用,下一步
3、填写项目名称、选择位置、选择框架,点击创建
4、 NuGet安装OpenCvSharp4
安装成功的输出信息
此时,项目引用信息如下图
5、放一张测试图片到项目中,同时不要忘记设置文件属性->如果较新则复制
6、输入如下测试代码
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenCvSharp_Demo
{
internal class Program
{
static void Main(string[] args)
{
Mat mat = new Mat("test.jpg");
Cv2.ImShow("test.jpg", mat);
Cv2.WaitKey();
Cv2.DestroyAllWindows();
}
}
}
- using OpenCvSharp;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace OpenCvSharp_Demo
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Mat mat = new Mat("test.jpg");
- Cv2.ImShow("test.jpg", mat);
- Cv2.WaitKey();
- Cv2.DestroyAllWindows();
- }
- }
- }
7、启动项目,查看效果
后续代码将都基于该Demo开发
我创建了一个学习QQ群,欢迎大家加入!
C# OpenCvSharp DNN ONNXRuntime 实践QQ群:758616458