cv::Mat
opencv関数を使用してpush_back
新しい行をマトリックスに追加したいのですが、マトリックスのサイズを事前にキャッシュして、データを常に再割り当てする必要がないようにしたいと考えています。関数には行数パラメーターがありますが、これcv::mat::reserve
は、列数 (およびデータ サイズを最初に) を指定する必要があることを意味します。したがって、以下のコードでは、最初に不要な空の行が1つ表示されると思います。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));
}
注: コード例には表示されていませんが、最終的な行列の正確なサイズはわかりませんが、予約する最大値サイズを取得できます。