如何检测特定角度的角落

时间:2013-04-05 16:06:47

标签: opencv image-processing feature-detection corner-detection

我有一个等边三角形和一个矩形的图像:
equilateral triangle and a rectangle
我想只检测三角形的3个角。我遵循OpenCV Harris corner detector tutorial我看到三角形的所有角点都具有阈值= 80(当矩形阈值的所有4个角点= 255时)。但我没有找到门槛和学位之间的联系。

如何找到[555]度范围内的角落? 这是输出Mat http://pastebin.com/raw.php?i=qNidEAG0

P / s:我对CV很新,希望你能提供更多细节!

1 个答案:

答案 0 :(得分:10)

似乎我找到了可能的解决方案。我在Mathematica上实现了它并且能够解释基本步骤。

  1. 使用查找角落操作员并采取最强角。使用Harris算子。 Corners
  2. 查找轮廓(cv :: FindContours)。

    Contours

  3. 对于每个轮廓中的每个角,绘制一个圆并找到圆与轮廓之间的交点。在OpenCV中没有现成的功能,您应该自己实现它。

    Intersections

  4. 现在每个角落都有三个坐标:角落和轮廓两侧的两个点。使用dot product评估角度就足够了:

    angle estimation

  5. 结果:

    Corners found