我想要一个函数来计算并获得围绕对象的圆的直径。在MATLAB中是否有内置函数来执行此操作?否则,我该怎么办?
答案 0 :(得分:4)
试试这个算法:
计算不规则对象中每个点的平均x和平均y。这是通过为每个点取x和y分量并将它们加到总x和总y中然后除以点数来完成的。此平均x和y平均y算法为您提供了对象的非加权中心。
使用该中心点再次计算不规则物体中每个点的距离。保持最大距离作为物体的半径。
使用中心点和半径计算周长。
我提交证据证明物体中距离最远的2个点之间的距离是一个简单的三角形。见下图。此外,用于计算最远的两个点的大O符号是x ^ 2。这个算法的大O是2倍。图像中圆的直径计算为20; -10,0和10,0之间的距离。直径为20的圆圈不包含点@ 0,-11。圆的任何移动都会自动移除用于计算圆直径的两个点中的至少一个,因为两个点都在切线上。
答案 1 :(得分:1)