将简化的离散区域转换为边框多边形

时间:2011-02-10 12:12:58

标签: algorithm map border

假设我有离散地图,在此地图上显示以蓝色代表的国家:

country without borders

国家/地区总是一致的。

现在我想从中提取边框:

country with borders

所以:

  • 我有一份国家无序瓷砖清单,在这种情况下:(3,3),(4,3),(4,4)......
  • 我想提取有序的边界序列,在这种情况下:((2,2),(3,2)),((3,2),(4,2)),....其中( (x1,y1),(x2,y2))表示边界的开始在(x1,y1)开始,以(x2,y2)结束

1 个答案:

答案 0 :(得分:0)

  1. 首先找到矩阵中最右边的点,无论多高。如果你用相同的x找到点,则任意选择。
  2. 找到这一点的所有边界。
  3. 如果你有一点接近 顶部,去吧,否则去吧 没错,否则就到底了 走到左边,走向方向 哪里有其他点的边界, 总是按照这个顺序。如果遇到 点是初始点,转到 第7步,否则转到下一步。
  4. 存储两点(校长 在你的点上,遇到点 路径。
  5. 现在遇到的问题是 主要观点。
  6. 转到第2步
  7. 路径包含您想要的内容