создать CvMat из C ++ вектора CvPoint2D32f - PullRequest
2 голосов
/ 05 июня 2011

Я пытаюсь создать структуру данных CvMat с помощью cvMat () в OpenCV.

Последний параметр cvMat () ожидает пустое значение * для данных.

Мои данные сохраненыв следующей структуре данных

vector<vector<CvPoint2D32f>> data;

Я ожидал, что

data.at(0)

будет работать как последний параметр, но компилятор говорит, что он не может преобразоваться в void *.

Какой путь мне сейчас выбрать?

Создать массив из векторов?Это потратило бы много времени и памяти.

1 Ответ

3 голосов
/ 05 июня 2011

data.at (0) имеет тип vector<CvPoint2D32f>, но вам нужно указатель на первый элемент этого вектора.Попробуйте:

 &(data.at(0).at(0))

Также имейте в виду, что vector<vector<CvPoint2D32f>> не является двумерным массивом CvPoint2D32f.Это больше похоже на «вектор ссылок» на одномерные массивы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...