在OpenCV中向矩阵添加一行

时间:2013-08-13 15:00:58

标签: opencv matrix row

这是一个非常简单的问题,但我无法在Google或OpenCV文档中找到答案。如何在cv::Mat的底部插入带有向量或默认数字的行?我试过了:

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

编译,但它总是让我产生一个断言错误。什么是正确的方法?

1 个答案:

答案 0 :(得分:37)

添加的元素必须是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