看起來很容易。畢竟我們知道,一個std或OpenCV的載體可以容易地轉換成矩陣是這樣的:將openCV矩陣轉換爲矢量
vector<Point> iptvec(10);
Mat iP(iptvec);
反向建議在OpenCV中的cheatsheet:
vector<Point2f> ptvec = Mat_ <Point2f>(iP);
然而,有一點需要注意:該矩陣必須只有一行或一列。要轉換的任意矩陣,你必須重塑:
int sz = iP.cols*iP.rows;
vector<Point2f> ptvec = Mat <Point2f>(iP.reshape(1, sz));
否則,你會得到一個錯誤:
* OpenCV的錯誤:斷言失敗(變暗== 2 & &(大小[0] == 1 | | size [1] == 1 || sizes [0] * sizes [1] == 0))in create,file /home/.../OpenCV-2.4.2/modules/core/src/matrix.cpp ,第1385行...
這是一個問題? – alrikai 2013-05-10 01:26:46