Выглядит обманчиво. Ведь мы знаем, что станд или OpenCV вектор может быть легко преобразован в Матрице, как это:преобразовать матрицу openCV в вектор
vector<Point> iptvec(10);
Mat iP(iptvec);
Реверс предлагается в OpenCV шпаргалка:
vector<Point2f> ptvec = Mat_ <Point2f>(iP);
Однако есть один нюанс: матрица должен иметь только одну строку или один столбец. Чтобы преобразовать произвольную матрицу нужно изменить:
int sz = iP.cols*iP.rows;
vector<Point2f> ptvec = Mat <Point2f>(iP.reshape(1, sz));
В противном случае вы получите сообщение об ошибке:
* OpenCV Ошибка: не удалось Assertion (тускнеет == 2 & & (размеры [0] == 1 | | размеры [1] == 1 || размеры [0] * размеры [1] == 0)) в файле create/file /home/.../OpenCV-2.4.2/modules/core/src/matrix.cpp , line 1385 ...
Возникает вопрос? – alrikai