文件名称:使用距离变换的最大内切圆:使用距离变换近似计算轮廓/区域的最大内圆-matlab开发
文件大小:12KB
文件格式:ZIP
更新时间:2024-06-19 14:29:37
matlab
最大内切圆或者换句话说,“最大内圆”、“最大空圆”等。 这是计算几何中非常常见的问题,要高效解决并不简单。 解决 2D 图像/轮廓处理,我在网上找不到好的实现。 一般来说,解决这个问题的合理方法是利用Voronoi Diagrams,一般为O(nlogn)。 在稍微分析了这个问题之后,我注意到使用众所周知的距离变换可以很容易地近似解决这个问题。 方法如下: 计算目标可以写成: (x, y) 最大化 r = min_{i} r_{i} 其中 r_i = ||(x_i, y_i) − (x, y)|| d_i = r_i − r (x_i, y_i):配对数据点(x, y), r : 对,标量圆心和半径在非数学方面: 1.最大内切圆的中心将位于多边形内2. 这种圆的中心离多边形边上的任何一点最远。 因此,我们寻找位于多边形内部并且与最近的边缘具有最大距离的点。 这正是位于轮廓内的像
【文件预览】:
max_inscribed_circle.zip