我有一个带有等边三角形和矩形的图像:

我只想检测三角形的3个角。我遵循OpenCV Harris corner detector tutorial,我看到三角形的所有角点都具有阈值= 80(当矩形阈值的所有4个角点都为255时)。但是我没有发现阈值和程度之间的联系。

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

P / s:我刚接触CV,希望您能提供更多详细信息!

最佳答案

看来我找到了可能的解决方案。我已经在Mathematica上实现了它,并能够解释基本步骤。

  • 使用查找角运算符并采用最强的角。使用哈里斯运算符。
  • 查找轮廓(cv::FindContours)。

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

  • 现在,对于每个角,您都有三个点的坐标:角和轮廓边上的两个点。使用dot product评估 Angular 就足够了:


  • 结果:

    07-24 16:50