检测计算机视觉中的数字交叉线

时间:2018-01-04 15:46:54

标签: python opencv computer-vision conv-neural-network

我有一个大学任务,考虑openCV,我必须解决,但我们几乎没有关于计算机视觉的讲座。

即我们获得大约10个视频,其中数字越过2行,如果它们越过一行,则它们被加到总和中,如果它们越过第二行,它们将从总和中减去。

视频:https://drive.google.com/drive/folders/0B1ZJXQY32LBUU3FiTS14a3NZd1U

目前我所知道的是我需要使用Hough变换来寻找线条。而且我需要以某种方式检测数字。

我的问题是我将如何

  • 检测到该号码已越过该线?
  • 哪个数字越过了?
  • 检测跨越一行的数字之间的重叠?

1 个答案:

答案 0 :(得分:2)

我发现很难相信你在本课程中只有零计算机视觉知识,只是为了分配一个满载的计算机视觉任务。无论如何,既然你只是在寻找方向,那么这些是我的建议:

  1. 对于初学者来说,您的视频Feed中包含随机点,可作为噪音。阅读morphological operations以先删除它们。为什么?干净的视频=更高的准确度。

  2. 您是对的,hough line可用于检测。但下一阶段是区分绿色和蓝色。 This blog是如何开展这项工作的良好开端。

  3. 此时,我们有一个干净的饲料,分别检测到线条。接下来的任务是字符识别,其中this答案帖子有一些你可以探索的建议。您也可以查看thisthis。第二篇文章使用scikit和标准的MNIST数据集。我建议您使用第二个,因为您的视频Feed中的数字看起来像是来自MNIST。

    检测到数字后,您需要找到数字轮廓和线段之间的交点。考虑实施this建议。

    两分钱:

    1. 你真的不需要为此训练神经网络。 为什么要打电话给消防员放出比赛?

    2. 数字检测后,您可能需要考虑tracking it。跟踪总是比检测更便宜。理想情况下,您在初始化阶段运行检测,然后跟踪。之后,您只需跟踪然后运行检测,然后说10-20帧(显然取决于应用程序)。

    3. 如果你真的没有被教过任何计算机视觉,<{> 3}} BUCKLE UP

    4. 干杯:)