使用openGL在C++中进行数据聚类

Har*_*tel 5 c++ opengl opencv cluster-analysis

我正在研究一个物体跟踪项目,我从激光雷达传感器(Pepperl-Fuchs R2000)获取数据(mm和振幅的距离).使用OpenGL和C++我在linux机器上显示数据.
在此输入图像描述 现在我想根据距离将点分组.我不知道如何将所有集群放在c ++的单独容器中?有没有可能我可以使用OpenGL的输出数据作为OpenCV中的输入数据进行对象跟踪?

Chr*_*ger 5

您应该将OpenGL数据转换为OpenCV结构.OpenCV中有一些内置函数可以共享数据,请看这里.您也可以将OpenGL点复制到OpenCV Mat或OpenCV向量中cv::Point3f.如何做到这取决于您的点所代表的OpenGL结构.如果您必须将矩阵从OpenGL转换为OpenCV,请考虑OpenGL按列主要顺序存储矩阵,而OpenCV执行行主要顺序.

然后,OpenCV提供了一些(有限的)集群解决方案.根据您的应用程序,k-means可能有效,但我建议您也查看其他群集技术,例如QuickShift或DBSCAN.