我有一个你可以想象的形状,从顶部观察到的一个湖泊(2D)。我在图像处理后确定了形状的边界像素,因此我有每个边界点的坐标。
现在我想计算这个形状的周长。我的问题是,我的分数不按照以下顺序给出一个闭环,但是无序。
如何在Matlab中解决这样的问题? (包括Curve-Fitting-Toolbox等)
感谢您的任何建议!
答案 0 :(得分:2)
您可以使用regionprops
函数来实现此目的。
将您的图像转换为二进制图像,其中“湖泊”内部为1,外部为0(您应该很容易做到,正如您所提到的那样提取边界)。
然后使用:
props=regionprops(YourBinaryImage, 'Perimeter');
然后,您可以按如下方式访问周边:props.Perimeter
答案 1 :(得分:0)
如果你有一组带有(x,y,z)坐标的3D点,你可以将z设置为零并使用2D(x,y)点来查找使用convhull的凸包,无论它们是什么订单。