最大内切圆或者换句话说,“最大内圆”、“最大空圆”等。
这是计算几何中非常常见的问题,要高效解决并不简单。
解决 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. 这种圆的中心离多边形边上的任何一点最远。 因此,我们寻找位于多边形内部并且与最近的边缘具有最大距离的点。 这正是位于轮廓内的像
2021-10-11 15:59:16
12KB
matlab
1