【问题标题】:detect edge with certain curvature检测具有一定曲率的边缘
【发布时间】:2012-08-09 12:30:10
【问题描述】:

我正在尝试在图像中找到具有一定曲率的边缘:边缘较亮的一侧应该是凸面。

边缘本身sobel或者canny都没有问题,但是不知道怎么检查曲率。

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

----->

----->

【问题讨论】:

    标签: algorithm image-processing geometry computer-vision edge-detection


    【解决方案1】:

    如果我正确理解您的要求,您想找到弯曲的边缘,并且在其凸面“包围”图表的明亮区域?

    我将您的要求翻译成:

    如果在曲线上两点之间绘制的任何直线完全位于图表的浅色区域内,则接受该曲线。

    这应该很容易实现。如果曲线包含许多点,则检查每对点之间的每条直线将非常乏味,但您可能会对检查足够条直线感到满意。

    但您必须自己定义足够

    如果正如 OP 所评论的那样,一条曲线可能包括满足要求的段和不满足要求的段,并且它们将被分为顺应曲线和不顺应曲线,尽管我可以,但这种方法应该是可适应的随着用于检查凸度的行数变大,处理变得相当繁重。

    【讨论】:

    • 不需要多点检查,只需计算凸包并检查即可。无论如何,好的答案+1
    • 看起来很有希望;但是对于第一个带有 S 曲线的示例,凸包检查将如何工作?
    【解决方案2】:

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

    这将避免High Performance Mark解决方案的假阴性问题,即测试线段遇到与当前曲线不相连的暗区。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 2020-06-15
      • 2017-04-22
      • 2014-03-30
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多