konvertieren openCV matrix in Vektor
Sieht täuschend einfach. Nach allem, was wir wissen ist, dass eine std-oder openCV Vektor kann leicht umgewandelt in Matrix wie diese:
vector<Point> iptvec(10);
Mat iP(iptvec);
Umgekehrt wird vorgeschlagen, in openCV cheatSheet:
vector<Point2f> ptvec = Mat_ <Point2f>(iP);
Allerdings gibt es eine Einschränkung: die matrix nur aus einer Zeile oder einer Spalte. So konvertieren Sie eine beliebige matrix haben Sie Umformen:
int sz = iP.cols*iP.rows;
vector<Point2f> ptvec = Mat <Point2f>(iP.reshape(1, sz));
Ansonsten erhalten Sie eine Fehlermeldung:
*OpenCV Error: Assertion failed (dims == 2 && (Größen[0] == 1 || Größen[1] == 1 || Größen[0]*Größen[1] == 0)) create, file /home/.../OpenCV-2.4.2/modules/core/src/matrix.cpp, Zeile 1385...
- Ist das eine Frage?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie ein 2dim-Vektor und füllt jede Zeile. E. g: