【问题标题】:Pattern Recognition?模式识别?
【发布时间】:2016-10-25 15:51:22
【问题描述】:

首先我什至不确定我的问题是模式识别问题还是特征识别问题。我不是图像处理方面的专家,但这是我的问题。

我正在制作一个必须在一系列图像中识别闪电类型的应用程序。我正在使用 C++ 和 OpenCV 进行图像处理。通过对图像进行阈值处理,我可以获得图像的闪电部分。接下来我需要做的是识别闪电是否向上分支,如下面的链接所示

http://i.stack.imgur.com/OaWe1.png

或是否如以下链接所示向下分支

http://i.stack.imgur.com/6sYcd.png

这些是应用程序必须从一系列图像中识别出的基本分支形状。现在我的问题是我不知道如何实现从图像中识别分支方向的功能。我所需要的只是引导到正确的方向,我可以采取什么方法来实现这一点。提前谢谢你。

【问题讨论】:

    标签: image-processing


    【解决方案1】:

    我会采用更直观的方式。

    0) 在查看您的照片时,我可以看到分支之间的锐角(角度

    1) 对于“向上”图像,您可以首先找到分支之间的所有锐角,看看它们是否为 1-180(取决于您,或者您可以将其细化为 0-180 之间的任何值)

    2) 对于“向下”图像,您可以找到分支之间的所有锐角,看看它们是否为 181-360。 (由您决定,或者您可以将其细化为 180-360 之间的任何值)

    HTH

    【讨论】:

      【解决方案2】:

      自从我使用 OpenCV 很久以来,我将只概述我立即想到的方法。

      1. 查找所有线段。
      2. 为每个线段找到它的方向(是向上还是向下?)。您可能必须聪明地决定哪个是起点,哪个是终点,但我认为这应该很容易。您可能会发现一些基于分支点的启发式方法...
      3. 对结果求平均值,以了解大部分段是向下还是向上。
      4. 完成。

      编辑:第 2 点更新 假设您有一个线段列表,其中每个线段都是没有分支的连续线。也就是说,你不能有 Y 形段,只有 I 形。

      1. 对于每个段,找到其端点 (p1, p2),其中 pX=(x,y)。
      2. 对于 x=[1,2],确定 pX 是分支点(与另一条线段共享的点)还是实际端点。调用分支点 pB 和端点 pE。
      3. 计算点之间的矢量,d = pE - pB。如果 d 的 y 值为正,则您有一个向上的分支。如果需要,可以使用 d 计算两点之间直线的偏角,并将其用作测量值,而不仅仅是向上或向下的二元选项。

      使用不同的形态学操作应该很容易找到端点(和分支点!)。

      【讨论】:

      • 感谢 kigurai 指南。对于第 2 步,我将如何找到线段的方向?
      • 再次感谢,但是我如何执行形态学操作你没有任何好的链接吗?
      • 查看维基百科文章en.wikipedia.org/wiki/Morphological_image_processing,但它有点数学。否则,任何名副其实的图像处理书籍都应该有这方面的部分。
      • kigurai 如何在 OpenCV 中查找图像的线段?一直在努力解决这个问题,但似乎在浪费我的时间,请指导我。
      • 抱歉,对于特定的 OpenCV 问题,我用处不大,因为我使用它已经有几年了。查看有关分段或线条的函数的文档。
      【解决方案3】:

      一个易于实现的算法是获取所有分支点和端点(形态)。现在,如果你删除分支点,假设你的图像中没有圆圈,你会得到(拓扑)线 - 一端是端点,一端是分支点。分割你的线段,然后放回分支点。现在您可以计算所有线段的分支点到端点向量。与 (0,1) 的点积将显示给定的线段指向上方或下方。

      【讨论】:

      • 感谢您的指导,但是这对 OpenCV 来说是新事物,我不知道如何进行任何形态学运算,您不知道任何指向好的教程的链接吗?
      【解决方案4】:

      您还应该考虑到可能存在水平的闪电(从云到云)。除非您确定这不会出现在您的数据集中。

      如果是,您可能希望使用 kigurai 回答中提到的偏角阈值。

      您可能遇到的另一个更棘手的问题是,当您的图片集在光天化日之下出现闪电图片时。图像的过度曝光部分可能与闪电本身一样亮,然后您的初始阈值步骤会产生一些噪点。

      【讨论】:

        猜你喜欢
        • 2011-06-18
        • 2016-08-10
        • 1970-01-01
        • 2010-11-12
        • 2019-11-04
        • 2010-09-07
        • 2012-05-22
        • 1970-01-01
        • 2012-09-17
        相关资源
        最近更新 更多