如何在此图中找到三个六边形的交点?

时间:2019-01-18 07:49:07

标签: algorithm opencv graph-algorithm

我有一个像这样的身材 Documentation 我想找到三个六边形的所有交点的坐标。

我该怎么做?我应该使用OpenCV吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Harris corner detector查找这些功能。

还要检查带有结果交集分析的findContours是否可以为您提供有用的信息。

答案 1 :(得分:0)

我仍在尝试一种更快/更好的方法,但我认为以下方法应该可行:

  • 将图像阈值限制为纯黑白
  • 生成并保存所有黑色像素的列表供以后使用
  • 标记图像,以便每个白色六边形有效地充满独特的颜色(或灰色阴影)-有些人称其为“标记” ,有些人称其为“ Blob分析” ,有人称其为“连接组件分析” 。无论它叫什么,您都会得到这样的东西:

enter image description here

  • 现在,从第二步中保存的列表中查看每个黑色像素,并计算周围9x9或15x15区域中除黑色以外还有多少种其他颜色。如果是三,可能是您想要的交叉点。

当然,这方面有所不同-例如,您可以在顶部实施“距其他路口的最小距离” 。或“黑线先变细” 。或对每个斑点进行扩张,以腐蚀黑线并使三种颜色靠得更近。标记后,您可以缩小图像(小心使用NEAREST_NEIGHBOUR而不是插值)以减少处理时间-如果重要的话。