我正在尝试使用 OpenCV 中的 cvMat() 创建 CvMat 数据结构。
cvMat() 的最后一个参数需要一个 void* 数据。
我的数据存储在以下数据结构中
vector<vector<CvPoint2D32f>> data;
我预料
data.at(0)
作为最后一个参数,但编译器说不能转换为void*。
我现在应该走哪条路?
从 vector 创建数组?这会浪费大量时间/内存。
最佳答案
data.at(0) 有 vector<CvPoint2D32f>
类型,但您需要指向该 vector 的第一个元素的指针。尝试:
&(data.at(0).at(0))
另请记住,vector<vector<CvPoint2D32f>>
不是 CvPoint2D32f 的二维数组。它更像是一维数组的“引用 vector ”。
关于c++ - 从 CvPoint2D32f 的 C++ vector 创建 CvMat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239084/