openCV H检测

时间:2017-06-27 15:04:10

标签: opencv image-processing opencv-python

对于无人机比赛,我需要使用openCV进行图像处理以检测“H”(用于直升机降落垫)。我尝试了一些经典算法,但结果并不令人满意。

  • SIFT(和SURF):所有角度都相同(90度),所以即使它找到“H”,也会误认为方向。
  • matchTemplate:它非常好,但它不是旋转和大小不变的。所以我需要做出太多不同尺寸和不同方向的测试。
  • Hough Line变换:当无人机离目标太远或太靠近目标时,由于它们的厚度,它不会检测到相同的线。
  • OCR的机器学习:我忽略了如何让它准确学习,因为我要搜索的模板是唯一的。

有人可以给我一些建议吗? :)

编辑:这是" H"我们需要检测: H letter to be detected

1 个答案:

答案 0 :(得分:1)

识别直升机停机坪的最佳方法是训练哈尔分类器,然后运行它:

  1. 原始图片
  2. 图像旋转了正负22,45,68,90度
  3. 哈尔分类器通过添加小旋转进行训练,因此上述角度应足以覆盖图像中直升机停机坪的所有旋转。另一种方法是为不同的旋转训练多个分类器;这种情况比较常见,因为哈尔分类器放弃了最早的证据,运行多个分类器比旋转高分辨率图像要快。

    还可以尝试使用旋转进行模板匹配,但这需要更多的旋转次数。