我想要使用opencv cv::Mat
函數push_back
向矩陣添加新行,但我想預緩衝矩陣的大小,以便數據不需要不斷重新分配。 cv::mat::reserve
函數具有許多行參數,但這意味着您必須指定列數(首先是數據大小)。所以我假設下面的代碼會給我一個空行,我不想要。有沒有一種合適的方式來使用reserve
和push_back
?如何使用opencv墊預留?與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));
}
注意:雖然示例代碼中不顯示它我不知道最終的矩陣的確切大小,但我可以得到一個最大值大小保留。
謝謝,我希望這事實上確實預留了空間。我有點懷疑。 – Geronimo