其中Python对openCV的支持很高,相对C#支持就差很多,这里经过多次测试在c#中可以使用openCV的一些简单方法。
具体如下:
引入库(因为opencv对环境的要求比较高,所以选择4.2左右的版本即可,下载的时候需要安装两个库)

需要安装OpenCVSharp4和opencvSharp.runtime.win库

均选择4.2上下的版本
// 导入库
using OpenCvSharp;
using OpenCvSharp.Extensions; 打开图片并展示
// 读取一张图片
Mat srcImage = new Mat("C:/Users/niuji/Desktop/haha/img (1).jpg");
Cv2.ImShow("Demo", source);
Cv2.WaitKey(0); Bitmap转Mat
// Bitmap 读取图片
Bitmap bmp = new Bitmap("C:/Users/niuji/Desktop/haha/img (1).jpg");
// 转换为Mat
Mat source = bmp.ToMat(); 压缩图片
Bitmap bmp = new Bitmap("C:/Users/niuji/Desktop/haha/img (1).jpg");
// 转换为Mat
Mat source = bmp.ToMat();
// 创建压缩图片
Mat resized = new Mat();
//压缩
Cv2.Resize(source, resized, new OpenCvSharp.Size(source.Cols / 3, source.Rows / 3), 0, 0, InterpolationFlags.Linear); 图形绘制
Bitmap bmp = new Bitmap("C:/Users/niuji/Desktop/haha/img (1).jpg");
// 转换为Mat
Mat source = bmp.ToMat();
OpenCvSharp.Point[][] points = {
new OpenCvSharp.Point[] { new OpenCvSharp.Point(50, 50), new OpenCvSharp.Point(50, 100), new OpenCvSharp.Point(100, 100) },
new OpenCvSharp.Point[] { new OpenCvSharp.Point(200, 50), new OpenCvSharp.Point(250, 50), new OpenCvSharp.Point(250, 150), new OpenCvSharp.Point(200, 150) }
};
// 绘制多边形
Cv2.Polylines(source, points, true, Scalar.Red, 3);
其中的语法和python类似,但是本身支持不是很好,在很多项目中只做简单的图像处理,比如转换图片的话,不做复杂的操作,其中比较繁琐的就是最开始opencvsharp包的导入。