一 : Mat 对象的创建
OpenCvSharp 版本:v4.0.30319
mat 对象继承了 IDisposable 接口,可以直接用using 语句。
mat 对象的构造函数有十几个之多,我这里之列举常用的几个。
Mat 在C++ 中是一个矩阵变量,但是在 C#中是一个对象,只能 new
Mat是图形的基本对象,
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、视频播放
标签:abc,mat,--,ImShow,Cv2,笔记,OpenCvSharp,new,Mat From: https://www.cnblogs.com/boentouch/p/17154732.html