边界可能略微呈锯齿状(放大时)。我希望在这些曲线上检测一个感兴趣的点(位置x和y),在那里我们看到形状发生了明显的变化,例如
可以有两个输出:
目前,我正在使用Python和OpenCV。我想不出一个有效和有效的方法来解决这个问题。任何帮助都将非常感激。
答案 0 :(得分:1)
没有人说其他人会同意我的结束投票,所以......
我建议采取两个步骤:
第2步在很大程度上取决于您对“兴趣点”的定义。标准是什么?我注意到你的第二个兴趣点实际上非常接近拟合曲线;它是两边的区域向内偏离。
我建议您在极坐标中进行拟合,然后根据θ和半径考虑结果。可以将两条曲线“展平”为一个单位,这样中心角(θ)就是新的x坐标,距离中心的距离就是新的y坐标。
现在,减去两条曲线并绘制差异(或者将这条新曲线存储为一个点数组)。寻找这些差异中的适当异常。这是您必须决定所需的地方。也许是“r”值(半径,距离中心的距离)的足够偏差;也许是梯度的变化(找到峰值/谷值,但不是轻微倾斜的凸起)。你想要绝对差异,还是积分的偏差(拟合和异常之间的区域)。你想要它是线性的还是平方的......或者其他一些函数?异常的宽度是否符合你的标准?
这就是你需要决定的。这会让你感动吗?