This is a very simple question but I couldn't find the answer in Google or in OpenCV documentation. How do you insert a row with either a vector or a default number at the bottom of a cv::Mat
? I tried:
std::vector<double> v = {0, 0, 1};
m.push_back(v);
which compiles, but it always gets me an assertion error. What is the right way to do it?
The added element must be a Mat
with the same number of columns as the container matrix:
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