python - 点数组中的角点检测

标签 python numpy computer-vision point-clouds corner-detection

我从我的激光雷达得到一个点云,它基本上是二维笛卡尔坐标中的一个 numpy 点数组。有没有有效的方法来检测由这种二维点形成的角点?

到目前为止,我尝试的是检测集群,然后在每个集群上应用 RANSAC 来检测两条线,然后估计这两条线的交点。当我知道我有多少个集群(在这种情况下,我在我的机器人前面放了 3 个盒子)并且机器人周围没有其他物体并且没有检测到其他物体时,这种方法很有效。

我想做的是运行一般的角点检测,然后获取每个角点周围的点并检查线是否正交。如果是这样,那么我可以将这个角落视为特征。当涉及到周围环境时,这将使我的算法更加灵活。

这是我得到的数据的可视化:
enter image description here

最佳答案

有很多方法可以做到这一点。在您的情况下,我会尝试的第一件事是使用点的自然激光雷达扫描排序为不连续性链接合理的距离阈值。然后它成为一个问题,要么估计本地策展,要么像你所做的那样,增长和合并线性段。

关于python - 点数组中的角点检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35937602/

相关文章:

matlab - 调整光流框架的大小

opencv - vil_image_view到cv::Mat转换

python - 我如何使用Python openCV在表格的这张图片中找到左上角框的位置(x,y,宽度,高度)?

javascript - 如何向服务器端提交一个javascript变量

python - 我正在尝试使用 Python 中的链接列表的 get 方法,其中用户放置索引并给出该索引中的数据

python - 使用 Pandas 将两个数字列有条件地相乘

python - 如何以垂直角度对 blob 上的一条线进行采样? (在 Python/OpenCV 中,除非你建议切换到其他东西)

python - bool 检查不起作用

python - NumPy 中的 3D 数组索引可减少行数

python - 更快的 3D 矩阵操作 - Python