Matlab 计算由点云指定的形状的周长
我有一个你可以想象的形状,从顶部观察到的田野中的一个湖泊(2D)。经过图像处理后,我确定了形状的边界像素,这样我就有了每个边界点的坐标 现在我想计算这个形状的周长。我的问题是,我的点不是按照下面的顺序,这将给出一个闭环,而是无序的 这样的问题如何在Matlab中解决?(包括曲线拟合工具箱等)Matlab 计算由点云指定的形状的周长,matlab,spline,Matlab,Spline,我有一个你可以想象的形状,从顶部观察到的田野中的一个湖泊(2D)。经过图像处理后,我确定了形状的边界像素,这样我就有了每个边界点的坐标 现在我想计算这个形状的周长。我的问题是,我的点不是按照下面的顺序,这将给出一个闭环,而是无序的 这样的问题如何在Matlab中解决?(包括曲线拟合工具箱等) 谢谢你的建议 您可以为此使用功能regionprops 将您的图像转换为二值图像,其中“湖”内为1,湖外为0(您应该很容易做到这一点,正如您提到的提取边界) 然后使用: props=regionprops(
谢谢你的建议 您可以为此使用功能
regionprops
将您的图像转换为二值图像,其中“湖”内为1,湖外为0(您应该很容易做到这一点,正如您提到的提取边界)
然后使用:
props=regionprops(YourBinaryImage, 'Perimeter');
然后,您可以按如下方式访问周长:
props.permiture
如果您有一组具有(x,y,z)坐标的3D点,则可以将z设置为零,并使用2D(x,y)点来查找凸面外壳,而不考虑它们的顺序。听起来不可能-会出现不明确的情况。您需要对您的积分进行排序。除非你不介意做一个总体近似,在这种情况下,你可以使用凸壳研究凸壳算法,特别是当周长的凸性是一个合理的假设或近似时。湖是凸的吗?在这种情况下,您可以根据角度(x-mean(x))+j1*(y-mean(y))