一 : Mat 对象的创建OpenCvSharp 版本:v4.0.30319

mat 对象继承了 IDisposable 接口,可以直接用using 语句。mat 对象的构造函数有十几个之多,我这里之列举常用的几个。Mat 在C++ 中是一个矩阵变量,但是在 C#中是一个对象,只能 newMat是图形的基本对象,1. 创建Mat对象并显示图像,控制下台记得加 Cv2.Wait(0)

string picpath = AppDomain.CurrentDomain.BaseDirectory + "2.png";

using (Mat mat = new Mat(picpath)) {

Cv2.ImShow("abc", mat); //Cv2.WaitKey(0); //控制台下加这一行 等待

}

读取图片并显示

Mat mat = Cv2.ImRead(picpath);

Cv2.ImShow("abc",mat);

结果:

2、显示单通道灰度图像

Mat mat = Cv2.ImRead(picpath,ImreadModes.Grayscale);

Cv2.ImShow("abc", mat);

3、自定义图形

Scalar color = new Scalar(255,0, 0); //BGR颜色 蓝色

/* * 参数: * 1: 行 --指定图像的像素行数,多个行组成图片的高度 * 2: 列 --指定图像的像素列数,多个列组成图片的宽度 * 3: 对象类型,结构体类型 矩阵数据类型(深度和通道数) MatType * 4: 图像颜色

* 5:CV_8UC3其中8是8bit图 U是无符号 C是color通道数为3

*/

Mat mat = new Mat(100, 100, MatType.CV_8UC3, color);

Cv2.ImShow("abc",mat);

4、创建与原图大小一致,类型相同的黑色图形

using (var src = new Mat(picpath, ImreadModes.AnyColor | ImreadModes.AnyDepth))

using (var dst = new Mat(src.Size(), src.Type(), Scalar.All(0))) //与原图大小类型一致 ,黑色

{

//dst.Create();//分配新的数据和类型

Cv2.ImShow("abc",src);

Cv2.ImShow("cde",dst);

}

5、视频播放