c++ - 从 CvPoint2D32f 的 C++ vector 创建 CvMat

标签 c++ c opencv

我正在尝试使用 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/

相关文章:

c++ - 强制 std::map 的键类型不是 const

android - libjpeg 总是随 Android 一起安装吗?

c - 没有逗号的数组初始化

OpenCV Haar 分类器被杀死

python - 错误 : recursion is detected during loading of "cv2" binary extensions. 检查 OpenCV 安装

c++ - Win32 SetForegroundWindow 不可靠

c++ - 如何用不同 namespace 中的候选人消除 ADL 调用的歧义?

c - 不寻常的 C 数组语法

Ubuntu 上 C 的 MySql

python - 找不到 CV2 模块 -- 在 openCV 构建中找不到 PythonLibs?