【发布时间】:2015-09-01 10:51:02
【问题描述】:
我想要一个函数来计算并获取包围对象的圆的直径。 MATLAB 中是否有内置函数来执行此操作?不然怎么办?
【问题讨论】:
我想要一个函数来计算并获取包围对象的圆的直径。 MATLAB 中是否有内置函数来执行此操作?不然怎么办?
【问题讨论】:
试试这个算法:
计算不规则对象中每个点的平均 x 和平均 y。这是通过获取每个点的 x 和 y 分量并将它们添加到总 x 和总 y 中然后除以点数来完成的。这种平均 x 和平均 y 点算法为您提供了对象的非加权中心。
再次使用该中心点计算不规则对象中每个点的距离。保持最大距离作为物体的半径。
使用中心点和半径计算周长。
我正在提交证明,证明对象中相距最远的 2 个点之间的距离以一个简单的三角形失败。见下图。此外,用于计算相距最远的两个点的大 O 表示法是 x^2。该算法的大 O 是 2x。图像中圆的直径将计算为 20; -10,0 和 10,0 之间的距离。直径为 20 的圆将不包含点 @ 0,-11。圆的任何移动都会自动移除用于计算圆直径的两个点中的至少一个,因为这两个点都在切线上。
【讨论】:
【讨论】:
bwperim 需要图像处理工具箱。此外,这只能找到沿周边的位置。这不会找到包含对象的圆的直径。