Matlab 计算由点云指定的形状的周长

Matlab 计算由点云指定的形状的周长,matlab,spline,Matlab,Spline,我有一个你可以想象的形状,从顶部观察到的田野中的一个湖泊(2D)。经过图像处理后,我确定了形状的边界像素,这样我就有了每个边界点的坐标 现在我想计算这个形状的周长。我的问题是,我的点不是按照下面的顺序,这将给出一个闭环,而是无序的 这样的问题如何在Matlab中解决?(包括曲线拟合工具箱等) 谢谢你的建议 您可以为此使用功能regionprops 将您的图像转换为二值图像,其中“湖”内为1,湖外为0(您应该很容易做到这一点,正如您提到的提取边界) 然后使用: props=regionprops(

我有一个你可以想象的形状,从顶部观察到的田野中的一个湖泊(2D)。经过图像处理后,我确定了形状的边界像素,这样我就有了每个边界点的坐标

现在我想计算这个形状的周长。我的问题是,我的点不是按照下面的顺序,这将给出一个闭环,而是无序的

这样的问题如何在Matlab中解决?(包括曲线拟合工具箱等)


谢谢你的建议

您可以为此使用功能
regionprops

将您的图像转换为二值图像,其中“湖”内为1,湖外为0(您应该很容易做到这一点,正如您提到的提取边界)

然后使用:

props=regionprops(YourBinaryImage, 'Perimeter');

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

如果您有一组具有(x,y,z)坐标的3D点,则可以将z设置为零,并使用2D(x,y)点来查找凸面外壳,而不考虑它们的顺序。

听起来不可能-会出现不明确的情况。您需要对您的积分进行排序。除非你不介意做一个总体近似,在这种情况下,你可以使用凸壳研究凸壳算法,特别是当周长的凸性是一个合理的假设或近似时。湖是凸的吗?在这种情况下,您可以根据
角度(x-mean(x))+j1*(y-mean(y))