计算用点云指定的形状的周长

时间:2014-01-13 14:03:43

标签: matlab spline

我有一个你可以想象的形状,从顶部观察到的一个湖泊(2D)。我在图像处理后确定了形状的边界像素,因此我有每个边界点的坐标。

现在我想计算这个形状的周长。我的问题是,我的分数不按照以下顺序给出一个闭环,但是无序。

如何在Matlab中解决这样的问题? (包括Curve-Fitting-Toolbox等)

感谢您的任何建议!

2 个答案:

答案 0 :(得分:2)

您可以使用regionprops函数来实现此目的。

将您的图像转换为二进制图像,其中“湖泊”内部为1,外部为0(您应该很容易做到,正如您所提到的那样提取边界)。

然后使用:

props=regionprops(YourBinaryImage, 'Perimeter');

然后,您可以按如下方式访问周边:props.Perimeter

答案 1 :(得分:0)

如果你有一组带有(x,y,z)坐标的3D点,你可以将z设置为零并使用2D(x,y)点来查找使用convhull的凸包,无论它们是什么订单。