【发布时间】:2016-09-08 11:43:19
【问题描述】:
我想使用 opencv cv::Mat 函数 push_back 向矩阵添加新行,但我想预先缓存矩阵的大小,以便不需要不断地重新分配数据。 cv::mat::reserve 函数有许多行参数,但这意味着您必须先指定列数(和数据大小)。所以我假设下面的代码会在开始时给我一个我不想要的空行。有没有使用reserve 和push_back 的正确方法??
cv::Mat M(1, size_cols, CV_32FC1);
M.reserve(size_rows);
for (int i = 0; i < size_rows; i++)
{
GetInputMatrix(A);
M.push_back(A.row(i));
}
注意:虽然示例代码没有显示它,但我不确定最终矩阵的确切大小,但我可以得到一个最大值大小来保留。
【问题讨论】:
标签: c++ opencv opencv-mat