2012-03-31 8 views
0

Es ist trivial aussehen. Ich habe versucht, diesezuweisen CvMat opencv eine Doppel-Matrix

double d[2];

CvMat* cvdata;

cvdata->data.db = d;

wenn ich Debug-Stimmung mit es scheint, dass nur das erste Element zu cvdata zugeordnet.

irgendwelche Vorschläge? und was ist mit 2-dimensionalen Array?

danke

Antwort

0

Sie keinen Zeiger auf Mat verwenden sollten, können Sie es auf folgende Weise tun:

int rows = ..; 
int cols = ..; 
cv::Mat cvdata(rows, cols, cv::DataType<double>::type); 

wenn Sie cvdata oder übergeben Sie es als Argument nur eine Kopie der cv :: Mat-Header erstellt die Kopie Interne Daten habe ich kopiert. Opencv verwaltet die Zeiger automatisch.