ohenrygithub

Results 13 comments of ohenrygithub

查看了一下源码,detector构造函数和init_Scene_kdtree_cpu函数,对两个阈值的使用是不一样的,前者用来寻找特征点,并进行筛选,后者用来做canny算子的参数,不过,粗略看了一下icp相关论文,似乎icp配准的时候,待配准平面也要找到一些特征点,这样才能够对应上,当然具体的做法就不清楚了。 目前要调的参数比较多,如果detector构造函数中的weak_threshold和strong_threshold和 init_Scene_kdtree_cpu函数中的阈值可以通用,用起来就要简便一些。 scene.init_Scene_kdtree_cpu(m_detector->dx_, m_detector->dy_, kdtree, 4, m_detector->weak_thresh(), m_detector->strong_thresh()); 不知道这样用会不会有潜在问题。

看了一下源码,不知道理解得是否正确, scene.init_Scene_kdtree_cpu是通过处理图像构建场景,在这里就提取了一些点,作为目标点集; cuda_icp::RegistrationResult result = cuda_icp::ICP2D_Point2Plane_cpu(model_pcd, scene); 这里是用模板的特征点集和图像的点集做配准,采用的是icp算法中点到面配准的方式; 所以,之前我遇到的问题:icp没有发生作用,其实是初始化的时候遇到的;scene构造是没有获得足够的点造成的; scene构造的点集从detector获得,detector是从原始图像高斯平衡然后用sobel算子提取边缘获得处理后的图像;