3

我想在图像中找到具有一定曲率的边:边的较亮边应该是凸边。检测具有一定曲率的边

边缘本身与sobel或canny没有问题,但我不知道如何检查曲率。

一些例子:我想找到绿色边框,而不是红色的

enter image description here ----->enter image description here

enter image description here ----->enter image description here

回答

4

如果我没有理解您的要求是否正确,您希望找到弯曲的边缘,并在其凸面上“包围”图的亮区域?

我翻译您的要求为:

如果曲线上的两个点之间绘制的任何直线完全位于图的光区域内的曲线被接受。

这应该是相当直接的实施。如果曲线包含许多点,检查每对点之间的每条直线将会非常繁琐,但是您可能会满意检查的足够的直线

但是你必须定义什么足够是你自己。

如果作为OP曾评论,曲线可以包括符合要求和不段的段,他们将被分隔成一个标准的曲线和不符合要求的曲线,这种做法应该适应尽管我由于用于检查凸面的线条的数量变大,可以看到处理变得非常繁重。

+2

不需要多点检查,只需计算凸包并检查它。无论如何,好的回答+1 – 2012-08-13 10:44:36

+0

好点@安德烈。 – 2012-08-13 11:10:06

+1

看起来很有前途;但是如何用S曲线对第一个例子进行凸包检查? – HugoRune 2012-08-13 11:32:16

1

如果将边的几何图形提取为点的有序序列,则可以通过考虑3个连续的点A-B-C来确定所需序列的哪些部分。 如果C lies on the same side of the line AB为较亮区域,则ABC为所需曲线的一部分,您可以继续考虑BCD,等等,直到您发现C在AB的错误一侧,或者您返回到序列的开始。

这样可以避免高性能标记解决方案中出现假阴性问题,即测试线段遇到与电流曲线不相关的暗区。