8

我正在尝试创建一个Mat具有相同大小和类型的另一个。new 的所有元素都Mat应该为零,所以我尝试了Mat::zeros(size, type)函数,定义为:

static MatExpr zeros(Size size, int type);

这是我的代码。假设我已经有一个Mat g(通过创建imread):

Mat h = Mat::zeros(g.size, g.type());

这会给我一个编译器错误,抱怨:

调用“零”没有匹配的功能

我究竟做错了什么?

4

1 回答 1

16

您偶然发现了cv::Mat. 该size字段不返回一个cv::Size,而是一个Mat::MSize结构。这MSize可以cv::Size通过调用其转换为 a operator()

你需要这样调用:

Mat h = Mat::zeros(g.size(), g.type());
于 2013-08-27T16:06:11.377 回答