web-dev-qa-db-ja.com

OpenCVの行列に行を追加する

これは非常に単純な質問ですが、GoogleやOpenCVのドキュメントで答えを見つけることができませんでした。どのようにcv::Matの下部にベクトルまたはデフォルト番号の行を挿入しますか?私は試した:

std::vector<double> v = {0, 0, 1};
m.Push_back(v);

これはコンパイルされますが、常にアサーションエラーが発生します。それを行う正しい方法は何ですか?

17
Neptilo

追加される要素は、コンテナーマトリックスと同じ列数のMatである必要があります。

cv::Mat m = cv::Mat::ones(4, 3, CV_64F);    // 3 cols, 4 rows
cv::Mat row = cv::Mat::ones(1, 3, CV_64F);  // 3 cols, 1 row
m.Push_back(row);                           // 3 cols, 5 rows
40
ChronoTrigger