Добавить строку в матрицу в OpenCV
Это очень простой вопрос, но я не смог найти ответ в Google или в документации OpenCV. Как вставить строку с вектором или номером по умолчанию в нижней части cv::Mat
? Я пробовал:
std::vector<double> v = {0, 0, 1};
m.push_back(v);
который компилируется, но всегда вызывает ошибку утверждения. Каков правильный способ сделать это?
Ответы
Ответ 1
Добавляемый элемент должен быть 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