OpenCV 最容易传错参数的两组Mat构造函数

发布时间 2023-11-06 22:04:29作者: harrychinese

Mat构造函数中有两组函数传参特别容易传错, 分别是:
public Mat(int rows, int cols, MatType type)
public Mat(OpenCvSharp.Size size, MatType type)

稍不注意, 我们会认为下面两个mat尺寸相等,
var m1= new Mat(10,20,MatType.CV_8UC1);
var m2= new Mat(new OpenCvSharp.Size(10,20),MatType.CV_8UC1);
其实它们的尺寸是不一样的, 这两个的尺寸的高度和宽度正好对调了.

第一个函数, 第一个参数为行数和第二个为列数, 也就是说, 第一个传参为高度, 第二个为宽度.
第二个函数需要传入一个Size, Size的构造第一个传参为宽度, 第二个传参为高度