【问题标题】:OpenCV detecting hexagon grid on a mapOpenCV在地图上检测六边形网格
【发布时间】:2018-03-17 12:21:58
【问题描述】:

我正在尝试使用 OpenCv 检测棋盘游戏地图的 Android 六边形字段。地图看起来像这样:

[示例地图]

我尝试仅使用 HSV 中的 Value 来获取轮廓,并且我设法获得了一些六边形,但不幸的是,并非所有六边形,我在检测有河流或道路穿过它们的六边形时遇到了很大的困难。

我设法得到了类似的东西:

[检测到的六边形]

我什至尝试让边框变粗,但没有太大帮助。 为了检测所有六边形,我想平均检测到的近似大小,然后逐个像素地尝试检测颜色的变化(接近黑色)。后来我什至想在地图的照片上检测六边形,所以我不能真正依赖其他六边形的大小。

您认为解决此问题的最佳方法是什么?

编辑: 谢谢 我刚开始实施你的想法,效果很好,现在我得到了水平线:

【问题讨论】:

    标签: android opencv image-processing detection


    【解决方案1】:

    您处理的是常规网格,因此您只需要检测几个甚至一个即可计算所有其他网格。越多越好,因为您将能够计算均值,并且它会更准确。要查找轮廓,查找颜色渐变可能很有用。

    【讨论】:

    • 谢谢,你是对的,因为无论我怎么拍,平行的线都会一直这样。我没有考虑它,因为它的六边形和网格是不规则的,但我想如果我扩展一些边界,我甚至可以在不分析图像的情况下设置其他边界的位置。我应该像以前那样检测六边形,还是应该尝试用另一种算法检测线条
    • 您也可以应用旋转(线 60(或 120)度彼此)并应用与水平线相同的方法。交叉点将是六边形的顶点,
    猜你喜欢
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多