用 R 点云覆盖的区域

Posted

技术标签:

【中文标题】用 R 点云覆盖的区域【英文标题】:Area covered by a point cloud with R 【发布时间】:2011-04-09 23:48:54 【问题描述】:

我有散布在二维欧几里得空间中的点云。我想计算连接云的最极端(=外围)点的多边形内的区域。换句话说,我想估计一下这个空间里云所覆盖的面积。 R中有公式吗? 非常感谢您的任何回复 朱利安

【问题讨论】:

【参考方案1】:

这称为凸包问题; R 内置的chull 函数应该可以完成这项工作。要计算面积,您可以使用here 中的公式。

编辑:更好; splancs 包具有areapl 功能。所以解决你的问题的函数应该是这样的:

cha<-function(x,y)
chull(x,y)->i
return(areapl(cbind(x[i],y[i])))

例如:

library(splancs);
x<-rnorm(20);rnorm(20)->y;
#Some visualization
i<-chull(x,y);plot(x,y);polygon(x[i],y[i]);
#The area
cha(x,y);

【讨论】:

rgeos::gArea 与为处理空间问题而创建的类一起工作(参见包sp)。可能值得朝那个方向探索。

以上是关于用 R 点云覆盖的区域的主要内容,如果未能解决你的问题,请参考以下文章

PCL:基于区域生长的点云分割原理与实现

R语言ggplot2可视化:使用grid_path函数将整图使用暗色覆盖而突出(hightlight)在指定位置的椭圆形区域(ellipse)突出特定区域内的数据内容

PCL:基于区域生长的点云分割——保存分割结果

MATLAB点云处理:查找感兴趣区域(ROI)内的点

自动驾驶使用同心区域模型改进地面点云快速分割算法

自动驾驶使用同心区域模型改进地面点云快速分割算法