と私は行列に新しい行を追加するためにOpenCVのcv::Mat
機能push_back
を使用したいが、私は、データは常に再割り当てする必要がないように、行列のサイズをプリキャッシュします。 cv::mat::reserve
関数には行数のパラメータがありますが、これは列数(およびデータサイズ)を指定する必要があることを意味します。だから私が推測しているコードでは、私が欲しくない最初の空の行を私に与えるでしょう。 reserve
とpush_back
を使用してこれを行う適切な方法はありますか?opencv Mat reserveの使い方は?一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