【发布时间】:2017-03-12 19:10:51
【问题描述】:
我正在使用带有 VS2012 C++/CLI 的 OpenCV 3.1。
我已将 finContours 调用的结果存储到:
std::vector<std::vector<Point>> Contours;
因此,Contours[0] 是第一个轮廓的轮廓点的向量。 Contours[1] 是第二个向量的轮廓点的向量,以此类推
现在,我想将其中一个轮廓加载到基于 Convert Mat to vector <float> and Vector<float> to mat in opencv 的 Mat 中,我认为这样的方法会起作用。
Mat testMat=Mat(Images->Contours[0].size(),2,CV_32FC1);
memcpy(testMat.data,Images->Contours[0].data(),Images->Contours[0].size()*CV_32FC1);
我指定了两列,因为我每个底层品脱都必须由一个 X 点和一个 Y 点组成,并且每一个都应该是一个浮点数。但是,当我访问 Mat 元素时,我可以看到第一个元素不是基础数据,而是轮廓点的总数。
任何有关完成此任务的正确方法的帮助。
【问题讨论】: